2013-02-07 56 views
1

我有一個在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,我想知道如果我沒有做錯什麼!我沒有想法,所以任何幫助將不勝感激。

+0

您是否使用完全相同的JDK來運行JBoss?(對於Jboss 5.1,建議使用Oracle JDK 1.6版)? – Toni

+0

1.6.0_13在CentOS(服務器)和本地Ubuntu(dev)上使用,我使用1.6.0_32。我在CentOS上部署基於與目標服務器共享JDK的CI構建(v13)。 – jmelanson

+1

那麼供應商(OpenJDK,IBM,Oracle ......)呢?你最好在這兩種環境中使用JDK的Oracle版本。它看起來像你在服務器上安裝的Java發行版的問題。 – Toni

回答

1

發現故障:aspectjtools-1.6.2.jar包含另一個JAR /ant_tasks/resources-ant.jar,這似乎是導致該問題。我從jar中刪除了文件夾/ant_tasks,現在我可以將其包含在我的war文件中,在JBoss中部署/取消部署並且堆棧跟蹤消失。 不知道究竟是什麼引起了這個問題,因爲它看起來像是JBoss(VFS),jar和CentOS的組合。

相關問題