我正在尝试在应用程序服务器上部署Hibernate测试项目(尝试过Glassfish 5.0.1
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsupportedClassVersionError: jakarta/ws/rs/core/FeatureContext has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class [jakarta.ws.rs.core.FeatureContext])
我必须提到的是,我使用IntelliJ IDEA创建了这个项目,因为昨天我在做另一个项目,我使用Jersey文档中描述的命令创建了这个项目,
mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-webapp -DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false -DgroupId=com.example -DartifactId=simple-service-webapp -Dpackage=com.example -DarchetypeVersion=2.36
它在两台服务器上都能工作。我的JRE和JDK在同一个版本(Java 8)上,我希望避免更改它。
昨天,当我试图使用IntelliJ IDEA创建一个项目时,我遇到了同样的问题。知道这是什么原因吗?
它位于mvn依赖项:树
中的org.glassfish.jersey.containers: jersey-tainer-servlet-core: jar: 2.36: compile
下。
库
我删除了pom中jersey容器servlet核心的version属性。xml文件
构建项目
它仍然包括依赖树中的jakarta.ws.rs:jakarta.ws.rs api:jar:2.1.6:compile,但我认为这次它是用我的本地JDK(1.8)编译的,现在我可以在两台服务器上部署应用程序。