我有一個在JBoss 5.1和Ubuntu linux 12.10下運行良好的標準WAR應用程序。在JBoss 5.1中取消部署WAR時出現ZipFileException異常
然而,當我試圖在CentOS 5.2部署應用程序時,我面臨停止(取消部署)以下異常操作:
java.lang.Error: Error visiting [email protected][path=app.war/WEB-INF/lib/aspectjtools.jar context=file:/jboss/server/deploy/ real=file:/jboss/server/deploy/app.war/WEB-INF/lib/aspectjtools.jar Caused by: java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:127) at java.util.zip.ZipFile.(ZipFile.java:143) at org.jboss.virtual.plugins.context.zip.ZipFileWrapper.ensureZipFile(ZipFileWrapper.java:175) at org.jboss.virtual.plugins.context.zip.ZipFileWrapper.acquire(ZipFileWrapper.java:245) at org.jboss.virtual.plugins.context.zip.ZipEntryContext.initEntries(ZipEntryContext.java:484) at org.jboss.virtual.plugins.context.zip.ZipEntryContext.ensureEntries(ZipEntryContext.java:619) ... 58 more
的aspectjtools.jar需要加載時織入AOP。
- 我使用的是aspectjtools 1.6.2,但我也試過最新版本1.7.1,同樣的問題。
- 我已經多次檢查過該JAR的ZIP文件完整性,完整性正常。
- 我創建了一個小型應用程序,用java.util.zip解壓縮戰爭,沒有例外。
- 我檢查過,unix文件描述符的限制足夠高,設置了最大限制。
- 啓動JBoss JVM的用戶擁有服務器目錄上的所有權限。
- 我在aspectjtools.jar中搜索了不規則的東西,沒什麼特別的。
仍然可以找出問題出在哪裏,因爲有這個谷歌鏈接0,我想知道如果我沒有做錯什麼!我沒有想法,所以任何幫助將不勝感激。
您是否使用完全相同的JDK來運行JBoss?(對於Jboss 5.1,建議使用Oracle JDK 1.6版)? – Toni
1.6.0_13在CentOS(服務器)和本地Ubuntu(dev)上使用,我使用1.6.0_32。我在CentOS上部署基於與目標服務器共享JDK的CI構建(v13)。 – jmelanson
那麼供應商(OpenJDK,IBM,Oracle ......)呢?你最好在這兩種環境中使用JDK的Oracle版本。它看起來像你在服務器上安裝的Java發行版的問題。 – Toni