2013-03-04 163 views
13

我試圖從命令提示符創建一個EAR文件。我已經使用如何創建ear文件,並在其中包含war和jar文件

jar -cvf myServletWAR.ear . 

但我的問題是,我怎樣才能得到這個EAR文件在其中有WAR文件和JAR文件?

我是否需要單獨創建戰爭文件並將其包含在ear文件中?

我不能使用ANT文件,因爲這個項目沒有什麼限制。

+0

你用maven或Eclipse IDE的發展? – 2014-06-13 06:58:20

+0

嘗試將所有文​​件(即jar,wars,application.xml等)複製到某個目錄(例如〜/ temp/build_ear)中,然後使用上面列出的相同命令,這應該可行。如果你需要一個班輪,你可以使用你的bash腳本。 – eitanfar 2014-06-15 12:09:27

+0

是可以用java? – wissem46 2015-05-20 00:47:03

回答

9

我的一個EAR文件具有結構如下:

app.ear 
    - APP-INF 
    - lib 
     // libraries (.jar) here 
    - META-INF 
    - MANIFEST.MF 
    - weblogic-application.xml 
    - module1.war 
    - customlib.jar 

這個檔案被部署到的WebLogic 10.3。

Remeber .ear只是一個ZIP文件,所以你可以用這種方式創建它,儘管它看起來很混亂。

5

檢查,如果罐子CMD工作如果是這樣,創建你的類文件和描述符等的罐子

jar -cvf <<earname>> <<files want to be in the ear >>

0

如果你想創建命令行的耳朵,以下是你可以嘗試的選項。

選項1.使用ant build並使用ear任務。按照stackoverflow question on ant ear task usage

中說明的配置此耳朵任務注:基於Maven的版本比螞蟻這些天更受歡迎。

選項2.如果您可以使用maven,configure your modules and use maven ear plugin來生成耳朵。以下命令將能夠生成耳朵。

mvn clean package 

有關Java EE項目的更多信息,請參閱有關Java EE項目的maven問題information on configuring war, jars for an ear

+0

是可以用java? – wissem46 2015-05-20 00:47:12

+0

你是什麼意思?你問是否可以使用'java jar'命令完成耳朵創建?如果是這樣,是的。但人們通常使用Maven構建耳朵。 – 2015-05-22 19:59:23

0

如果您已經生成了一個客戶端和EJB,它們會自動打包到企業歸檔文件(.ear)中,您不需要這樣做。否則:

  • 將EJB的.jar文件打包到您的應用程序的.ear文件中。要做到這 使用類似如下的jar命令:
jar -cvf myApplication .ear myService.jar 

如果你有.war文件,你可以以同樣的方式添加到.ear文件的客戶端。

  • 通過複製和編輯樣本創建部署描述符的application.xml或者使用您的
    應用服務器的工具或作爲
    如下:

  • 找到一個樣品的.ear,這是例子在

mapdemo/mapdemo/repos/myService.deploy/JMapServ-WL.ear 
目錄
  • 從.ear文件提取描述符的application.xml,使用以下jar命令:

罐子-xvf JMapServ-WL.ear META-INF/application.xml中

  • 製作application.xml描述符的副本並對其進行編輯,將JMapServ替換爲.jar文件的名稱。如果您將.war文件添加到.ear文件,也可以添加.war文件的名稱。

  • 將描述符放入包含.ear文件的目錄的meta-inf子目錄中。

  • 包的描述符插入使用了一種類似於jar命令你.ear文件:

jar -uvf myService.ear META-INF/application.xml 
+0

是可以用java? – wissem46 2015-05-20 00:47:19

相關問題