我試圖部署包含EJB應用程序到的WebLogic 9.2服務器的耳朵。Weblogic的EJB deployement:班在耳內罐子不可訪問
這耳朵使用maven(本身使用耳ant任務)創建的。 Maven的產生以下結構:
myApp.ear
- META-INF
- application
- MANIFEST.MF
- dependency-1.jar
- dependency-2.jar
- ...
- dependency-n.jar
- myEjb.jar
的清單包含看起來不錯(所有依賴JAR列)
當我嘗試部署耳朵,我收到了NoClassDefFoundError的異常的類路徑部分。
如果我把我所有的罐子在我的域的lib目錄,耳朵被成功部署。
如果我把我在一個名爲APP-INF/lib目錄(weblogic的標準)目錄中的所有罐子,耳朵已經成功部署了。
myApp.ear
- META-INF
- application
- MANIFEST.MF
- APP-INF
- lib
- dependency-1.jar
- dependency-2.jar
- ...
- dependency-n.jar
- myEjb.jar
在同一個項目中,我有別人的耳朵,不使用是完全工作的APP-INF/lib目錄。
是否有人有weblogic的爲什麼不能夠部署我的耳朵的想法?
經過一番調查後,我發現問題來源:它是myEjb.jar模塊的清單類路徑。參見接受的回覆中的評論。
非常感謝。
謝謝JoseK。我已經瞭解到,APP-INF/lib的耳朵是weblogic標準。但是我的構建系統沒有這個目錄就會產生耳朵。製作的清單也很好看。而最奇怪的事實是用同樣的工具建立的其他耳朵工作正常。 – Guillaume 2010-09-08 07:45:35
@Guillaume:我想知道是否有任何依賴jar包依賴於另一個捆綁的依賴 - 因此引發問題? – JoseK 2010-09-08 08:03:52
我發現了這個問題:它是ejb.jar模塊上的Manifest Class-Path問題,而不是耳朵的META-INF/MANIFEST類路徑中的問題。非常感謝你的幫助。 – Guillaume 2010-09-08 13:53:59