当我在 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.1
和jersey-servlet-1.17.1
添加到war
模块的构建路径,但我似乎仍然遇到相同的错误。
非常感谢!
您为 weblogic 使用哪个版本的 JRE?
“不支持的类版本 X.Y”。当 JVM 尝试加载用更高版本的 java 编译的类文件时,会发生错误。在这种情况下,51.0表示该类文件是用java 1.7编译的,并且可能您的java版本<1.7。在这种情况下,我看到有两种解决问题的选择
- 使用java 1.7或以上版本运行weblogic。
- 或者获取与您的 JRE 兼容的 jersey-container-servlet-core jar(以及依赖 jar,如果有)。
我是一名优秀的程序员,十分优秀!