【问题标题】:Compatability issue for Rest Webservice (java 8) when deployed on Tomcat (java 7)在 Tomcat (java 7) 上部署时 Rest Web Service (java 8) 的兼容性问题
【发布时间】:2018-01-13 02:02:47
【问题描述】:

我在 Windows 机器上使用 Tomcat 服务器创建了一个 Restful Web 服务(在 Java 8 上编译和运行)。我已经将它部署在 Ubuntu 系统上,现在它工作正常,直到我将 Ubuntu 系统的 Java_Home 路径设置为 JDK 8。 通过以下链接后 servlet init exception running jersey servlet on tomcat 7

但是当我的路径是 JDK 7 或低于 JDK 8 的版本时,战争过去常常抛出异常:

类型 异常报告

消息 Servlet Jersey Web 应用程序的 Servlet.init() 抛出异常

说明服务器遇到内部错误,导致它无法完成此请求。

例外 javax.servlet.ServletException: Servlet Jersey Web 应用程序的 Servlet.init() 抛出异常

根本原因 java.lang.UnsupportedClassVersionError:com/cms/RegisterVehicle/Registration/VehicleResource:不支持的major.minor 52.0版

想知道为什么 JDK 8 上的 War 与 JDK 7 的 Server 不兼容?

【问题讨论】:

    标签: rest tomcat java-8 jersey


    【解决方案1】:

    这是因为 Java 运行时被编写为仅运行编译为版本等于或低于它们自己的版本的代码。这是因为较旧的虚拟机不知道该语言的新特性,或者可能不理解新版本中引入的任何新字节码。

    要解决您的问题,您需要使用 Java 7 编译代码或升级用于运行 Tomcat 的 VM 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 2017-08-22
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      相关资源
      最近更新 更多