JAR包:打成JAR包的代碼,一般作為工具類,在項目中,會應用到N多JAR工具包。
WAR包:JAVA WEB工程,都是打成WAR包,進行發布,如果我們的服務器選擇TOMCAT等輕量級服務器,一般就打出WAR包進行發布。
EAR包:這針對企業級項目的,實際上EAR包中包含WAR包和幾個企業級項目的配置文件而已,一般服務器選擇WebSphere等,都會使用EAR包。
文件夾及作用說明:
1、JAR包 :
JAR 文件格式以流行的 ZIP 文件格式為基礎。
與 ZIP 文件不同的是,JAR 文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。
JAR 文件與 ZIP 文件唯一的區別就是在 JAR 文件的內容中,包含了一個 META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創建的。
作用:
作為工具包和類庫;這個是最基本的作用,在大型項目中,一般會依賴N多JAR包。作為應用工程和擴展的構建單元;開發大型應用的時候,一般會將應用分成幾個單元,每個單元用jar包封裝,並相互依賴。作為組件、applet 或者插件程序的部署單位;用於打包與組件相關聯的輔助資源。
典型的jar包內部結構如下:
tools.jar | resource.xml // 資源配置文件 | other.xml | |— META-INF MANIFEST.MF // jar包的描述文件 |— com // 類的包目錄 |—test util.class // java類文件
2、WAR包 :
WAR(Web Archive file)網絡應用程序文件,是與平台無關的文件格式,它允許將許多文件組合成一個壓縮文件。war專用在web方面 。
JAVA WEB工程,都是打成WAR包進行發布。
典型的war包內部結構如下:
webapp.war | index.jsp | |— images |— META-INF |— WEB-INF | web.xml // WAR包的描述文件 | |— classes | action.class // java類文件,編譯后的字節碼 | |— lib other.jar // 依賴的jar包 share.jar
3、EAR包:
JAR(Java Archive,Java 歸檔文件)是與平台無關的文件格式,它允許將許多文件組合成一個壓縮文件。
為 J2EE 應用程序創建的 JAR 文件是 EAR 文件(企業 JAR 文件)。
針對企業級項目,實際上EAR包中包含WAR包和幾個企業級項目的配置文件而已,一般服務器選擇WebSphere等,都會使用EAR包。
典型的ear包內部結構如下:
app.ear | ejb.jar // ejb-jar包 | other.jar // 普通的jar包 | webapp.war // war包 | |—META-INF application.xml // EAR描述文件
WEB標准包是war方式,J2EE標准包使用的是ear方式,區別就在與你必須在支持j2ee的環境下才能使用ear方式,比如在tomcat中就不能使用ear方式,但是在weblogic中兩種都可以,ear方式所包含的范圍比war方式廣很多,就好比一個大圓里面的小圓,是包含與被包含關系 。