2010-11-26 62 views
4

我已經產生了一個帶有war文件的耳朵文件,但ear文件包含已經在war文件的lib文件夾中的jar文件。我怎樣才能刪除重複的jar文件,這些jar文件應該放在哪裏?在war文件的lib文件夾中還是在war文件之外? (我在我的項目中使用maven ear插件和maven war插件)。耳朵文件中的多個相同的jar文件

+0

哪個EE版本您使用的? 5或6? – javamonkey79 2010-11-26 03:54:48

+0

我使用的Java 1.6,所以我想它是J2EE 6?但是兩者有什麼區別? – newguy 2010-11-26 04:25:11

回答

3

我終於想通過在ear文件裏面生成細小的war文件來做到這一點。我受到了來自這裏的maven-war-plugin示例的啓發 skinny-wars

按照示例的說明,我將所有jar文件移出war模塊,並將其放入ear文件中的lib文件夾中。

所以最終的EAR文件結構將是:

ear-app 
    -- lib (all the jar files will be here) 
    -- webModule1 
     -- lib (empty) 
    -- webModule2 
     -- lib (empty) 
    -- ejbModule 
0

如果你有一個被兩個罐子使用的EJB歸檔和Web歸檔,那麼你就可以做到以下幾點:

  1. 保留所有常見的罐子在的.ear根
  2. 在ejb和web檔案中使用manifest.mf的Class-Path屬性來引用這些jar文件。請記住,罐子的位置將相對於耳朵文件的根。

即使您沒有EJB jar,上述步驟也會起作用。