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服務器分布在全國,從上海訪問,會從最近的節點返回資源,這是核心。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM