2014-01-08 38 views
1

我有以下結構的Websphere EAR模塊依賴管理

myWar1.war WEB-INF EAR的/ lib目錄/ myJar.jar

myWar2.war

我想myWar2.war到能夠加載myJar.jar。 在JBoss中,7/EAP 6.x中,您可以在JBoss中部署-structure.xml添加一個依賴這樣

<sub-deployment name="myWar2.war"> 
    <dependencies> 
     <module name="deployment.myEar.ear.myWar1.war" /> 
    </dependencies> 
</sub-deployment> 

我不知道的等同。我曾嘗試在myWar2.war的清單文件中添加類路徑條目,但似乎忽略它。 如果我有一個清單條目如

類路徑:myWar1.war/WEB-INF myWar1.war/WEB-INF/lib目錄myWar1.war/WEB-INF/lib目錄/ myJar.jar

myWar1.war/WEB-INF和myWar1.war/WEB-INF/lib被添加到模塊類路徑,但是myWar1.war/WEB-INF/lib/myJar.jar不是

我知道我可以打開jar放入EAR根級別的實用程序jar中,但不願意。這是一個成熟的應用程序(第二次戰爭是新的),我不想過多地搞亂它。如果我可以用理想的類路徑條目來解決依賴性問題。

+0

我實際上會期望清單類路徑相對於當前WAR文件的根目錄,所以我很驚訝前兩個爲你工作。 (我想知道你是否需要嘗試像../myWar1.war)。幾乎看起來像前兩個工作的錯誤,但不是第三個錯誤。什麼版本的WebSphere,以及哪個修訂級別? – dbreaux

+0

@dbreaux'Class-Path'總是相對於包含的歸檔,所以我相信語法是正確的,但是這只是不被支持。 –

+0

使用WAS 8.5 FP2 嘗試../也不起作用 – Nathan

回答

0

這是不可能的。 WEB-INF/lib中的JAR被認爲是myWar1.war的本地類路徑,並且不能從其他WAR中引用JAR。您唯一的選擇是將JAR移動到EAR(lib/目錄或另一個目錄並將Class-Path添加到兩個WAR的META-INF/MANIFEST.MF)。