前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JRE System Library、Referenced Libraries、Web App Libraries的含义

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

作者头像
黑泽君
发布2018-10-11 10:12:33
1.3K0
发布2018-10-11 10:12:33
举报
文章被收录于专栏:黑泽君的专栏
  • 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服务器分布在全国,从上海访问,会从最近的节点返回资源,这是核心。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-10-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档