【问题标题】:Versioning issue when using jersey 2.9 with tomcat7 + java8将 jersey 2.9 与 tomcat 7 + java 8 一起使用时的版本控制问题
【发布时间】:2014-06-15 10:05:54
【问题描述】:

我们有一个在 Eclipse (kepler) 上开发 jersey 2.0 REST 服务的 maven 项目

<dependency>
  <groupId>org.glassfish.jersey.containers</groupId>
  <artifactId>jersey-container-servlet-core</artifactId>
  <version>2.9.1</version>
</dependency>

结合:

  • java8
  • tomcat7

在部署 Web 应用程序时(使用 $ mvn install &amp;&amp; mvn -X tomcat7:redeploy),我们得到以下异常:

Caused by: java.lang.UnsupportedClassVersionError: org/glassfish/jersey/servlet/init/JerseyServletContainerInitializer : Unsupported major.minor version 51.0 (unable to load class org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2840)
  1. 我检查了 org.glassfish.jersey.containers jar 中的 MANIFEST 文件,并且(怀疑)它说构建在 1.7 JDK 上
  2. Tomcat 日志确认它使用 java8 本身

我们无法回到 java8。有没有办法/破解我们可以克服这个错误?

【问题讨论】:

    标签: tomcat7 java-8 jersey-2.0 maven-tomcat-plugin


    【解决方案1】:

    从tomcat 7.0.26,我升级到下一个版本> Tomcat 7.0.47,看看是否有帮助。 事情开始神奇地工作。成功部署应用

    如果有人能解释同一个插件是如何开始忽略 jdk 版本的,我会很高兴,这仅仅是因为 tomcat 版本的变化。

    【讨论】:

      猜你喜欢
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多