在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
模块?请注意,这是我从中获得的ear
文件的maven Web项目。我的Java版本是
1.7
,我已经尝试将jersey-core-1.17.1
和jersey-servlet-1.17.1
添加到war
模块的构建路径,但是我似乎仍然遇到相同的错误。非常感激!
最佳答案
您将哪个版本的JRE用于weblogic?
“不受支持的classversion X.Y.” JVM尝试加载使用更高版本的Java编译的类文件时,将发生错误。在这种情况下,51.0表示他的类文件已使用Java 1.7进行编译,并且您的Java版本可能小于1.7。在这种情况下,我看到两个解决方案
使用Java 1.7或更高版本来运行weblogic。
或者获取与您的JRE兼容的jersey-container-servlet-core jar(以及相关的jar,如果有的话)。