最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Java的打包jar、war、ear包的作用與區(qū)別詳解

 更新時(shí)間:2013年04月22日 11:26:16   作者:  
本篇文章,小編為大家介紹,基于Java的打包jar、war、ear包的作用與區(qū)別詳解。需要的朋友參考下

以最終客戶的角度來看,JAR文件就是一種封裝,他們不需要知道jar文件中有多少個(gè).class文件,每個(gè)文件中的功能與作用,同樣可以得到他們希望的結(jié)果。除jar以外對(duì)于J2EE來說還有war和ear。區(qū)別見下表:

JAR WAR EAR
英文 Java Archive file Web Archive file Enterprise Archive file
包含內(nèi)容 class、properties文件,是文件封裝的最小單元;包含Java類的普通庫(kù)、資源(resources)、輔助文件(auxiliary files)等 Servlet、JSP頁面、JSP標(biāo)記庫(kù)、JAR庫(kù)文件、HTML/XML文檔和其他公用資源文件,如圖片、音頻文件等 除了包含JAR、WAR以外,還包括EJB組件
部署文件 application-client.xml web.xml application.xml
容器 應(yīng)用服務(wù)器(application servers) 小型服務(wù)程序容器(servlet containers) EJB容器(EJB containers)
級(jí)別

(1)EAR文件的打包

EAR文件包括整個(gè)項(xiàng)目,內(nèi)含多個(gè) EJB Module(JAR文件)和 Web Module(WAR文件)。

EAR文件的生成可以使用winrar以zip壓縮方式或者從命令行以jar命令來生成。

步驟:

1>、先打包成war和jar,并寫好application.xml,放到 META-INF 目錄下。

2>、運(yùn)行 jar cf your_application.ear your_war.war your_jar.jar META-INF\application.xml (假設(shè)都在當(dāng)前目錄下)。

當(dāng)然也可以用jar xf your_application.ear來解壓。

application.xml是用來描述你的ear中包括的war和jar

weblogic自帶的petstore的application.xml例子:

復(fù)制代碼 代碼如下:

<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN' 'http://java.sun.com/j2ee/dtds/application_1_2.dtd'> 
 <application> 
     <display-name>estore</display-name> 
     <description>Application description</description> 
     <module> 
         <ejb>customerEjb.jar</ejb> 
     </module> 
     <module> 
         <ejb>mailerEjb.jar</ejb> 
     </module> 
     <module> 
         <web> 
             <web-uri>petstore.war</web-uri> 
             <context-root>estore</context-root> 
         </web> 
     </module> 
     <module> 
         <ejb>petstoreEjb.jar</ejb> 
     </module> 
     <module> 
         <ejb>signonEjb.jar</ejb> 
     </module> 
     <module> 
         <ejb>personalizationEjb.jar</ejb> 
     </module> 
     <module> 
         <ejb>inventoryEjb.jar</ejb> 
     </module> 
     <module> 
         <ejb>shoppingcartEjb.jar</ejb> 
     </module> 
     <security-role> 
         <description>the gold customer role</description> 
         <role-name>gold_customer</role-name> 
     </security-role> 
     <security-role> 
         <description>the customer role</description> 
         <role-name>customer</role-name> 
     </security-role> 
     <security-role> 
         <role-name>administrator</role-name> 
     </security-role> 
 </application>

(2)WAR的使用

1>、生成war文件使用如下命令:jar  -cvf   web1.war *
2>、查看web1.war中都有哪些文件,可以使用命令:jar  -tf  web1.war
3>、解壓web1.war文件,可以使用命令:jar  -xvf  web1.war

另外,也可使用winrar軟件選擇zip壓縮方式,并將壓縮文件后綴名改為war即可壓縮生成war文件;同樣使用winrar軟件可以強(qiáng)行打開war 文件,或者強(qiáng)行解壓war文件

使用jar命令與winrar軟件的區(qū)別在于前者在壓縮文件的同時(shí)會(huì)生成 META-INF 文件夾,內(nèi)包含MANIFEST.MF文件。

(3)何時(shí)使用war或者jar文件

當(dāng)你的項(xiàng)目在沒有完全竣工的時(shí)候,不適合使用war文件,因?yàn)槟愕念悤?huì)由于調(diào)試之類的經(jīng)常改,這樣來回刪除、創(chuàng)建war文件很不爽,最好是你的項(xiàng)目已經(jīng)完成了,不改了,那么就打個(gè)war包吧,這個(gè)時(shí)候一個(gè)war文件就相當(dāng)于一個(gè)web應(yīng)用程序;而jar文件就是把類和一些相關(guān)的資源封裝到一個(gè)包中,便于程序中引用。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Java的打包jar、war、ear包的作用、區(qū)別、打包方式:

1、 作用與區(qū)別

i.  jar:通常是開發(fā)時(shí)要引用通用(JAVA)類,打成包便于存放管理;

ii. war:是做好一個(gè)(web)應(yīng)用后,通常是網(wǎng)站,打成包部署到容器中;

iii. ear: 企業(yè)級(jí)應(yīng)用,實(shí)際上EAR包中包含WAR包和幾個(gè)企業(yè)級(jí)項(xiàng)目的配置文件而已,一般服務(wù)器選擇WebSphere等,都會(huì)使用EAR包。通常是EJB打成ear包。

2、打包方式

i. 所有的包都是用jar打的,只不過目標(biāo)文件的擴(kuò)展名不一樣;

ii. 也可以用Ant來安成構(gòu)建。

3、JET編譯成EXE

i.  JET 是要用錢買的,而且據(jù)說 JET 也不是能把所有的 Java 程序都編譯成執(zhí)行文件,性能也要打些折扣。所以,使用制作可執(zhí)行 JAR 文件包的方法就是最佳選擇了,何況它還能保持 Java 的跨平臺(tái)特性。

注意:

將web項(xiàng)目以war的方式導(dǎo)出后,直接放在tomcat容器的webapps下 ,啟動(dòng)服務(wù),即可運(yùn)行該項(xiàng)目,該war包會(huì)自動(dòng)解壓出一個(gè)同名的文件夾。

相關(guān)文章

  • java中Class.forName方法的作用詳解

    java中Class.forName方法的作用詳解

    Class.forName(xxx.xx.xx) 返回的是一個(gè)類,但Class.forName方法的作用到底是什么終?下面這篇文章就來給大家詳細(xì)介紹了關(guān)于java中Class.forName方法的作用,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • Spring MVC整合Kaptcha的具體使用

    Spring MVC整合Kaptcha的具體使用

    Kaptcha 是一個(gè)可高度配置的實(shí)用驗(yàn)證碼生成工具,本文主要介紹了Spring MVC整合Kaptcha的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Spring五大類注解讀取存儲(chǔ)Bean對(duì)象的方法

    Spring五大類注解讀取存儲(chǔ)Bean對(duì)象的方法

    這篇文章主要介紹了Spring五大類注解讀取存儲(chǔ)Bean對(duì)象,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • spring boot實(shí)現(xiàn)在request里解密參數(shù)返回

    spring boot實(shí)現(xiàn)在request里解密參數(shù)返回

    這篇文章主要介紹了Spring Boot實(shí)現(xiàn)在request里解密參數(shù)返回操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot之@Controller和@RequestMapping的實(shí)現(xiàn)原理解讀

    SpringBoot之@Controller和@RequestMapping的實(shí)現(xiàn)原理解讀

    這篇文章主要介紹了SpringBoot之@Controller和@RequestMapping的實(shí)現(xiàn)原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 對(duì)java for 循環(huán)執(zhí)行順序的詳解

    對(duì)java for 循環(huán)執(zhí)行順序的詳解

    今天小編就為大家分享一篇對(duì)java for 循環(huán)執(zhí)行順序的詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 解決mybatis-plus使用jdk8的LocalDateTime 查詢時(shí)報(bào)錯(cuò)的方法

    解決mybatis-plus使用jdk8的LocalDateTime 查詢時(shí)報(bào)錯(cuò)的方法

    這篇文章主要介紹了解決mybatis-plus使用jdk8的LocalDateTime 查詢時(shí)報(bào)錯(cuò)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java多線程Thread基礎(chǔ)學(xué)習(xí)

    Java多線程Thread基礎(chǔ)學(xué)習(xí)

    每一個(gè)正在執(zhí)行的程序都是一個(gè)進(jìn)程,資源只有一塊,所以在同一時(shí)間段會(huì)有多個(gè)程序同時(shí)執(zhí)行,但是在一個(gè)時(shí)間點(diǎn)上,只能由一個(gè)程序執(zhí)行,多線程是在一個(gè)進(jìn)程的基礎(chǔ)之上的進(jìn)一步劃分,需要的朋友可以參考下
    2023-04-04
  • 淺析Java SPI 與 dubbo SPI

    淺析Java SPI 與 dubbo SPI

    在Java中SPI是被用來設(shè)計(jì)給服務(wù)提供商做插件使用的。本文重點(diǎn)給大家介紹Java SPI 與 dubbo SPI的相關(guān)知識(shí)及區(qū)別介紹,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧
    2021-05-05
  • Java中使用fileupload組件實(shí)現(xiàn)文件上傳功能的實(shí)例代碼

    Java中使用fileupload組件實(shí)現(xiàn)文件上傳功能的實(shí)例代碼

    這篇文章主要介紹了Java中使用fileupload組件實(shí)現(xiàn)文件上傳功能的實(shí)例代碼,需要的朋友可以參考下
    2017-05-05

最新評(píng)論

中江县| 定襄县| 祁阳县| 磐石市| 大厂| 曲阳县| 南漳县| 兴文县| 山丹县| 丰宁| 镇安县| 策勒县| 肃南| 昌平区| 中超| 康乐县| 永平县| 中宁县| 新竹县| 江口县| 宁南县| 固始县| 洪泽县| 屯门区| 康马县| 沾化县| 宁国市| 吉木萨尔县| 招远市| 交城县| 英德市| 中阳县| 南陵县| 天峻县| 建德市| 南郑县| 砀山县| 田东县| 大城县| 靖安县| 昌宁县|