• JRE System Library、Referenced Libraries、Web App Libraries的含义


    • JRE System Library、Referenced Libraries、Web App Libraries 这三个都是jar包的存放集合
    • JRE System Library:指Java SE 的常用库文件集合,建立普通的Java项目均会使用。
    • Referenced Libraries:指你项目中所使用的第三方库文件集合,如果你把项目所需要的其他JAR包直接加在,项目 --> 属性 --> Java Build Path --> Libraries 中的时候,Eclipse 会自动将这些JAR包归类到一个集合中, 并取名为 Referenced Libraries ,显示在项目中。
    • 问:经常在SSH中出现jar包冲突,不知是 Referenced Libraries 中的jar文件冲突,还是 WebRoot/WEB-INF/lib/ 下jar文件冲突?
      • 解答:编译期冲突是由 Referenced Libraries 中jar包冲突引起;运行期冲突是由 WebRoot/WEB-INF/lib/ 下jar文件冲突引起的。
      • 首先,Referenced Libraries 可以是引用 WebRoot/WEB-INF/lib/ lib下的jar包,也可以是其他从别的地方复制过来的第三方jar包。Referenced Libraries 是编译环境下使用的JAR包,所谓编译环境下使用的JAR包,就是说你在Eclipse中进行源文件的编写的时候,所需要引用到的类都 Referenced Libraries 这个集合中的JAR包中拿。
      • WebRoot/WEB-INF/lib 中的JAR包是运行时环境下使用的JAR包,所谓运行时环境下使用的JAR包,就是说你在运行你的项目的时候所需要使用的JAR包的集合。
      • 注意区分两种环境:编译环境与运行环境。
    • Web App Libraries: 关于web项目没有看到Web App Libraries,可以通过右键项目 --> built path --> Configure built path --> 点击libraries标签 --> 选择右边的 Add Library… 按钮 ,在弹出的窗口中选择 Web App Libraries 添加即可。

    • Referenced Libraries 是存放第三方的jar包,也就是自己导入的jar包。在项目属性的Java Build Path中的Libraries中配置。
      • 本人理解:这里导入和配置jar包,都是为了让web工程能够在eclipse开发环境可以正常编译,不报错而已。如果该web工程利用eclipse生成war包,是不会导出其jar包到 WEB-INF/lib文件夹下的。
    • Web App Libraries 的主要作用是让eclipse导出war包的时候,会把其目录下的所有jar或者项目中的工程引用都导出到WEB-INF/lib文件夹下。
      • Web App Libraries中的jar包在eclipse中项目属性的Java EE Module Dependencies 配置的。如果你勾上了,或者添加了外部jar包,都会在WEB-INF/lib文件夹下生成。
      • 当然,如果你直接在WEB-INF/lib文件夹下,copy一个jar进入,刷新一下,Web App Libraries 也会自动增加一个jar的引用。简单说,Java EE Module Dependencies的配置只针对Web App Libraries。
    • 在项目发布的时候 Referenced Libraries 下面的jar包不会被打包

    • 补刀1:
      • EJB = Enterprise Java Bean
        • 实体Bean --> 类似于Hibernate中的持久化对象
        • 会话Bean --> 类似于Service
        • 消息驱动Bean --> 发送消息
      • EAR Libraries:开发EJB工程所需的库包。
      • EAR Libraries:是开发JavaEE服务器端组件模型所需要的库包。但是现在一般都用轻量化的框架实现模块化。EJB太笨重了,2003年的淘宝就是采用EJB开发,现在已经很少见了。
      • 开发EJB工程所需的库包,像我们常用zip或者rar一样,也是可以解压出来的。
      • 顺便说下:
        • war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
        • jar包:通常是开发时要引用通用类,打成包便于存放管理。
        • ear包:企业级应用,通常是EJB打成ear包。
        • 所有的包都是用jar打的,只不过目标文件的扩展名不一样。

    • 补刀2:
      • cdn全称是Content Delivery Network,主要用于加速静态资源,如网站上面上传图片、媒体、以及引入的一些js和css等文件。它的加速依靠各个网络节点,例如100台CDN服务器分布在全国,从上海访问,会从最近的节点返回资源,这是核心。
    我的GitHub地址:https://github.com/heizemingjun
    我的博客园地址:https://www.cnblogs.com/chenmingjun
    我的CSDN地址:https://blog.csdn.net/u012990179 
    我的蚂蚁笔记博客地址:https://blog.leanote.com/chenmingjun
    Copyright ©2018-2019 黑泽明军
    【转载文章务必保留出处和署名,谢谢!】
  • 相关阅读:
    基于Freescale的主流芯片HCS08
    BizTalk Server 2010 映射器(Mapper) [ 下篇 ]
    BizTalk Server 2010 使用 WCF Service [ 中篇 ]
    Ext JS 4 Beta 1发布了
    Step by Step WebMatrix网站开发之一:Webmatrix安装
    REST WebService与SOAP WebService的比较
    BizTalk Server 2010 使用 WCF Service [ 上篇 ]
    BizTalk Server 2010 映射器(Mapper) [ 中篇 ]
    BizTalk Server 2010 映射器(Mapper) [ 上篇 ]
    ExtJS 4 Beta 2预览:Ext.Brew包
  • 原文地址:https://www.cnblogs.com/Jeely/p/11101292.html
Copyright © 2020-2023  润新知