zoukankan      html  css  js  c++  java
  • 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服务器分布在全国,从上海访问,会从最近的节点返回资源,这是核心。
  • 相关阅读:
    Network (poj1144)
    C. Hongcow Builds A Nation
    ZYB loves Xor I(hud5269)
    D. Chloe and pleasant prizes
    Game(hdu5218)
    约瑟夫环的递推方法
    Misaki's Kiss again(hdu5175)
    Exploration(hdu5222)
    B. Arpa's weak amphitheater and Mehrdad's valuable Hoses
    C. Arpa's loud Owf and Mehrdad's evil plan
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/9752792.html
Copyright © 2011-2022 走看看