java - Jersey 1.x - 兼容性

标签 java jersey jersey-1.0

Jersey 1.8 与 Java 8 兼容吗?

此外,Jersey 1.8 与 Java 8 上的 WildFly 8 兼容吗?

我开发了并且现在正在维护 REST 生成 WAR 的 Web 服务项目。

大约 6 个月前我们开始遇到一些问题 (但顺便说一句,我们现在才注意到它们)。请参阅下面的错误和屏幕截图。

在网上做了一些研究后, 在我看来,问题与我们的项目有关 已迁移到 Java 8 和 WildFly 8(之前运行在 Tomcat 上) 6 与 Java 6)。

所以...我认为解决方案是至少迁移到 Jersey 1.9 (我们不想使用 Jersey 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

最佳答案

因为它通常发生在询问后一两个小时,我找到了解决方案。

解决方案是将 Jersey 从 1.8 升级到 1.x Jersey 系列的某个更高版本。

首先,我尝试了一种简约的方法并升级到版本 1.9,但那个版本也有同样的问题。

然后我刚刚从 1.x Jersey 系列升级到最新版本(目前版本为 1.19.3)。这解决了问题。

关于java - Jersey 1.x - 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44133600/

相关文章:

java - 游戏循环期间无法绘制到 JPanel

java - Jersey Response.ok() 没有给出 200 OK

java - Jersey 客户端收到错误的响应

java - Jersey 图像上传客户端

java - 我的 Vector 丢失数据有什么原因吗?

java - Android Java - 将 HttpPost 结果转换为 byte[]

java - 在 Jersey 中,如何处理深度嵌套的复杂对象的 @POST 参数?

java - 我可以在 Jersey 1.x 中使用 CDI @Inject 类吗?

java - Groovy - 压缩多个 if 语句

java - 使用 Hibernate 和 Jersey 连接到 MySql 数据库