在weblogic上部署ear时获取classNotFound异常

时间:2015-12-07 12:36:46

标签: java maven weblogic ear

当我在weblogic管理员控制台上部署ear文件时,出现以下错误 -

javax.servlet.ServletException: [HTTP:101249][ServletContext@47518104[app:CorporateActionDatabaseEAR-0 module:/CorporateActionDatabaseWAR path:/CorporateActionDatabaseWAR spec-version:null]]: Servlet class org.glassfish.jersey.servlet.ServletContainer for servlet Jersey Web Application could not be loaded because the requested class was not found in the classpath . java.lang.UnsupportedClassVersionError: org/glassfish/jersey/servlet/ServletContainer : unsupported classversion 51.0.

知道为什么会这样吗?我知道它与添加jersey-container-servlet-core jar有关,但是我添加了哪个模块?我的war模块或我的jar模块或我的ear模块?请注意,它是一个maven web项目,我从中获取了ear文件。

我的java版本是1.7,我已经尝试将jersey-core-1.17.1jersey-servlet-1.17.1添加到war模块的构建路径中,但我似乎仍然是这样错误。

非常感谢!

1 个答案:

答案 0 :(得分:0)

您使用哪个版本的JREare用于weblogic?

"不支持的类转换X.Y。"当JVM尝试加载已使用更高版本的java编译的类文件时,会发生错误。在这种情况下,51.0表示他的类文件已经使用java 1.7编译,并且可能是您的java版本< 1.7。在这种情况下,我看到两个解决问题的方法

  1. 使用java 1.7或更高版本运行weblogic。
  2. 或者获得与您的JRE兼容的jersey-container-servlet-core jar(以及相关的jars)。