1. 程式人生 > >Java的JAR包, EAR包 ,WAR包內部結構

Java的JAR包, EAR包 ,WAR包內部結構

JAR包

JAR 檔案格式以流行的 ZIP 檔案格式為基礎;

與 ZIP 檔案不同的是,JAR 檔案不僅用於壓縮和釋出,而且還用於部署和封裝庫、元件和外掛程式,並可被像編譯器和 JVM 這樣的工具直接使用;

JAR 檔案與 ZIP 檔案唯一的區別就是在 JAR 檔案的內容中,包含了一個 META-INF/MANIFEST.MF 檔案,這個檔案是在生成 JAR 檔案的時候自動建立的。

作用:

  1. 作為工具包和類庫;這個是最基本的作用,在大型專案中,一般會依賴N多JAR包。
  2. 作為應用工程和擴充套件的構建單元;開發大型應用的時候,一般會將應用分成幾個單元,每個單元用jar包封裝,並相互依賴。
  3. 作為元件、applet 或者外掛程式的部署單位;
  4. 用於打包與元件相關聯的輔助資源。

典型的jar包內部結構如下:

tools.jar

  |  resource.xml                    // 資源配置檔案

  |  other.xml

  | 

  |— META-INF           

  |            MANIFEST.MF         // jar包的描述檔案

  |— com                               // 類的包目錄

         |—test  

                   util.class            // java類檔案

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

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描述檔案

相關推薦

今天遇到一個怪異的問題maven生成專案war中有一個Jar不是我指定的版本執行時會找不到符號o(╥﹏╥)o

我要求的jar包:   這是我parent專案中pom檔案的依賴管理   這是我要生成war包那個工程最後依賴的jar包,這個時候它們的版本號還是一致的   最後專案生成的:   下圖是Dmaven.test.skip=true 跳過測試(同時會跳過test compile)生成的

springboot開發支援JSP併發布為war執行

<!--springboot tomcat jsp 支援開啟--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId&g

linux環境下spring boot專案war放入tomcat中訪問報404(絕對能夠解決你的問題相信我~)

阿里雲伺服器上,之前自己也部署過一個測試用的專案,直接訪問也是可以訪問的,但是,,不知道為啥我新建立的一個spring boot專案選擇war包部署到tomcat上面,訪問結果都是404,找了很多中解決方法,特此記錄一下先說明一下。因為我建立maven專案的時候,選擇的就是w

eclipse中使用spring boot 入門開發(包含:與jsp頁面和資料庫互動cmd打包執行war

突然想到自己有一段時間沒使用spring boot了,熟悉了一下之後決定記錄一下這次使用的注意點 一:使用springBoot搭出來一個架子(從前端到資料庫) 1.eclipse已經整合了maven,所以新建一個maven專案,然後針對專案修改下jdk相關點 2.目錄如

建立了一個maven專案打成了war但是啟動時一直都無法注入

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'mainController': Unsatisfied dependency expressed through

war命令列啟動war

如果你用過hudson,肯定對它的啟動方式印象深刻,它既可以用 java -jar *.war來啟動,也可以放到web容器中啟動。

解壓war並重新編譯成war

最近遇到個二手專案,只有一個war包檔案,需要解壓並修改其中一個class檔案 然後再重新打包成war包,難道還要重新部署專案環境,使用idea打war包??? 反正是很煩躁就對了 對了,先把class檔案反編譯成java檔案檢視一下 第一步:下載反編譯外掛地址

maven工程pom.xml配置引用的jar和最終打出war中的jar版本號不一致——mvn命令的應用

今天在打包一個maven工程時,發現有個jar包(暫且叫它A.jar),在pom.xml中配置的明明是2.3的版本,打出的war包裡的A.jar怎麼都是1.0的版本,導致war包部署不起來。為此掙扎了1個多小時,pom依賴檢查和環境檢查。最後終於想到可以利用maven的mvn

Java的JAREARWAR的區別

WAR包 WAR(Web Archive file)網路應用程式檔案,是與平臺無關的檔案格式,它允許將許多檔案組合成一個壓縮檔案。War專用於Web方面。大部分的JAVA WEB工程,都是打成WAR包進行釋出的。 War是一個web模組,其中需要包括WEB-INF,是可以直接執行的W

Java的JAR EAR WAR內部結構

JAR包 JAR 檔案格式以流行的 ZIP 檔案格式為基礎; 與 ZIP 檔案不同的是,JAR 檔案不僅用於壓縮和釋出,而且還用於部署和封裝庫、元件和外掛程式,並可被像編譯器和 JVM 這樣的工具直接使用; JAR 檔案與 ZIP 檔案唯一的區別就是在 JAR 檔案的內容中

Java專案jarwarear的區別

英文Java Archive fileWeb Archive fileEnterprise Archive file包含內容class、properties檔案,是檔案封裝的最小單元;包含Java類的普通庫、資源(resources)、輔助檔案(auxiliary files

java打Warwar和jar的區別

module app clas 完全 doc rip 折扣 通用 enter 以最終客戶的角度來看,JAR文件就是一種封裝,他們不需要知道jar文件中有多少個.class文件,每個文件中的功能與作用,同樣可以得到他們希望的結果。除jar以外對於J2EE來說還有war和ear

eclipse使用maven install 命令生成war中沒有jsp/js/css的解決方法

bsp 文件中 添加 direct pid 路勁 pom.xml文件 lips 命令 在pom.xml文件中添加如下11行代碼就可以了。 <build> <plugins> <plugin>

jenkins 自由風格構建war並自動部署(jenkins和tomcat同一臺機器)

jenkins 自由風格 環境:centos7.3 ip:192.168.216.130 參考 http://www.cnblogs.com/h--d/p/5682030.html一 在正式構建之前需要先設置下jenkins1 點擊Manage Jenkins,然後點擊Global Tool

springboot打war部署tomcat服務器以及表單提交數據亂碼處理

style 但是 thymeleaf move javaweb 1.8 生成 地址欄 defaults   小白覺得springboot打成jar包直接使用內嵌的tomcat或jetty容器(java -jar xxx.jar)運行項目不利於定位問題,我還是習慣於查看tom

在windows下部署包含C3P0的war沒問題部署到linux下面的tomcat下C3P0報錯

error: factor enc etc back from pool event 原因 錯誤原因:20-Jun-2018 19:44:27.353 INFO [localhost-startStop-1] org.apache.catalina.core.Applica

手動用tomcat啟動war無法訪問web項目

tis 技術 file 分享圖片 conf xml文件 進入 目錄 正常 先說一下自己采的小坑,網上大多解答都是復制來復制去,不說重點在哪。我這裏簡單總結下訪問路徑問題 一、用idea打成war包,具體步驟如下圖: 步驟:在項目配置選Artifacts新建Web Appli

war的安裝與部署(以兩個Tomcat為例詳細)

1   首先匯入資料庫(資料庫中要有該war包的資料庫) 2   執行 jzsales-manager-web.war 在8080埠上 2.1  將 jzsales-manager-web.war複製到Tomcat下的webapps資料

將Maven工程匯出war(匯出可執行檔案) war的安裝與部署(以兩個Tomcat為例詳細)請到:

1  開啟war工程的pom.xml,將如下內容複製到配置Tomcat的程式碼中                 &l

將專案打成war並用tomcat部署的方法步驟及注意點

部署的遇到第一個問題,就是tomcat和jdk的環境問題: 首先 理解為啥要關注這二者的環境呢?他們還是有關係的–tomcat 作為比較流行的java Web伺服器也是用java來實現的一個比較大的軟體 它也必須在虛擬機器JVM上執行 。 而java很多運用都是用在web開發上 所以他們就聯絡在一起