java.lang.NoClassDefFoundError:org/glassfish/jersey/internal/inject/Binder启动Tomcat服务器时
我正在用Jersey和Maven用Java构建RESTAPI。我使用Tomcat9作为我的服务器。在我今天尝试安装重启、Hamcrest、和JUnit之前,一切正常。突然,我所有的端点都抛出了500个内部服务器错误。500错误的根本原因是java.lang.NoClassDefFoundError:org/glassfish/jersey/internal/inject/Binder。 这两个小时我做了什么:java.lang.NoClassDefFoundError:org/glassfish/jersey/internal/inject/Binder启动Tomcat服务器时,java,rest,tomcat,jersey,glassfish,Java,Rest,Tomcat,Jersey,Glassfish,我正在用Jersey和Maven用Java构建RESTAPI。我使用Tomcat9作为我的服务器。在我今天尝试安装重启、Hamcrest、和JUnit之前,一切正常。突然,我所有的端点都抛出了500个内部服务器错误。500错误的根本原因是java.lang.NoClassDefFoundError:org/glassfish/jersey/internal/inject/Binder。 这两个小时我做了什么: 我试着在谷歌上找到这个类:org/glassfish/jersey/internal
- 我试着在谷歌上找到这个类:
,但没有用李>org/glassfish/jersey/internal/inject/Binder
- 我已尝试卸载重新启动、Hamcrest和JUnit,但没有任何帮助李>
pom.xml
文件:(带有restasured、Hamcrest和JUnit)
org.glassfish.jersey.containers
核心Jersey
和导入该活页夹类的Jersey
扩展库之一之间很可能存在版本不匹配。确保所有与Jersey相关的模块都有明确的版本(并且它们彼此匹配)。或者更好,通过导入jersey bom表来修复您的版本。例如:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>2.26-b03</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
org.glassfish.jersey
针织面料
2.26-b03
聚甲醛
进口
之后,您的主
部分可能会忽略版本。我在使用不同版本时遇到了相同的问题。确保Jersey bean验证和Jersey容器servlet版本相同
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22</version>
</dependency>
<!-- bean validation -->
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-bean-validation</artifactId>
<version>2.22</version>
</dependency>
org.glassfish.jersey.containers
jersey容器servlet
2.22
org.glassfish.jersey.ext
泽西豆验证
2.22
你也有同样的问题。保持jersey bean验证
和jersey容器servlet
相同的版本很好。谢谢。但是我通过重新启动Eclipse解决了这个问题。如果您有任何额外的jersey模块,请确保它们在pom中没有显式版本。让他们回退到依赖关系管理中的版本。如果我没有弄错,那么jersey bom包含所有重置相关的JAR。对吗?
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>2.26-b03</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22</version>
</dependency>
<!-- bean validation -->
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-bean-validation</artifactId>
<version>2.22</version>
</dependency>