使用带有tomcat7 + java8的jersey 2.9时的版本控制问题

时间:2014-06-15 10:05:54

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

我们有一个maven项目,用于开发Eclipse(kepler)

上的泽西2.0 REST服务
<dependency>
  <groupId>org.glassfish.jersey.containers</groupId>
  <artifactId>jersey-container-servlet-core</artifactId>
  <version>2.9.1</version>
</dependency>

与:

结合使用
  • java8
  • tomcat7

部署Web应用程序时(使用$ mvn install && 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本身
  3. 我们无法回到java8。有没有办法/黑客我们可以通过这个错误?

1 个答案:

答案 0 :(得分:0)

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

如果有人可以解释同一个插件是如何开始忽略jdk版本的,只是由于tomcat版本的更改而感到高兴。