2017-05-23 56 views
1

Jersey 1.8是否與Java 8兼容?Jersey 1.x - 兼容性

另外,Jersey 1.8是否與Java 8上的WildFly 8兼容?

我開發的,我現在維護一個REST 產生WAR的Web服務項目。

我們開始有一些問題,如6個月前 (但順便說一句,我們現在才注意到它們)。請參閱下面的錯誤和截圖。

在網絡上做的相當長的一段研究之後, 在我看來,這些問題都涉及到一個事實,即我們的項目 被遷移到Java 8和WildFly 8(以前它與Java 6中Tomcat上 6運行) 。

所以......我認爲解決方案是遷移到澤西島1.9 (我們不想使用澤西島2.x線)。 我試過了,但我得到了同樣的錯誤。

那麼...... Jersey 1.x是否與WildFly 8和Java 8兼容?

我們開始得到的錯誤看起來像這樣。

07:27:33,894 INFO [com.sun.jersey.api.core.WebAppResourceConfig] (default task-7) Scanning for root resource and provider classes in the Web app resource paths: 
     /WEB-INF/lib 
     /WEB-INF/classes 
    07:27:36,984 ERROR [io.undertow.request] (default task-7) UT005023: Exception handling request to /rpt/rpt-rest-service/report: java.lang.ArrayIndexOutOfBoundsException: 1901 
      at org.objectweb.asm.ClassReader.readClass(Unknown Source) [asm-3.1.jar:3.1] 
      at org.objectweb.asm.ClassReader.accept(Unknown Source) [asm-3.1.jar:3.1] 
      at org.objectweb.asm.ClassReader.accept(Unknown Source) [asm-3.1.jar:3.1] 
      at com.sun.jersey.spi.scanning.AnnotationScannerListener.onProcess(AnnotationScannerListener.java:133) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.core.spi.scanning.JarFileScanner.scan(JarFileScanner.java:97) [jersey-core-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.spi.scanning.WebAppResourcesScanner$1.f(WebAppResourcesScanner.java:94) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.core.util.Closing.f(Closing.java:71) [jersey-core-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.spi.scanning.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:92) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.spi.scanning.WebAppResourcesScanner.scan(WebAppResourcesScanner.java:79) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.api.core.WebAppResourceConfig.init(WebAppResourceConfig.java:100) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.api.core.WebAppResourceConfig.<init>(WebAppResourceConfig.java:87) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.api.core.WebAppResourceConfig.<init>(WebAppResourceConfig.java:72) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.spi.container.servlet.WebComponent.getWebAppResourceConfig(WebComponent.java:672) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.spi.container.servlet.ServletContainer.getDefaultResourceConfig(ServletContainer.java:414) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.spi.container.servlet.ServletContainer.getDefaultResourceConfig(ServletContainer.java:581) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.spi.container.servlet.WebServletConfig.getDefaultResourceConfig(WebServletConfig.java:87) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:703) [jersey-server-1.8-SNAPSHOT.jar:1.8-SNAPSHOT] 
      ....... 

在調用我的REST Web服務時,我在瀏覽器中遇到了同樣的異常。 請注意,此項目中沒有代碼或庫或配置更改 (它產生該WAR)。我相信只有部署環境發生了變化。

exception

回答

1

因爲它通常要求在這裏後會發生一兩個小時,我找到了解決辦法。

解決方案是將Jersey從1.8升級到1.x Jersey系列的更高版本。

首先,我嘗試了一種簡約方法並升級到1.9版,但那個問題相同。

然後,我剛從1.x Jersey線(這是當前版本1.19.3)升級到最新版本。這解決了這個問題。