运行我的项目时发生java.lang.NoClassDefFoundError错误
我一直在努力让它发挥作用,我想我需要一些帮助。我正在从事一个Java项目,其中pom.xml有一系列依赖项,其中一些依赖项本身间接依赖于这个jar:运行我的项目时发生java.lang.NoClassDefFoundError错误,java,maven,jax-ws,jax-rs,jersey-client,Java,Maven,Jax Ws,Jax Rs,Jersey Client,我一直在努力让它发挥作用,我想我需要一些帮助。我正在从事一个Java项目,其中pom.xml有一系列依赖项,其中一些依赖项本身间接依赖于这个jar: com.sun.jersey:jersey核心:1.17.1如下: <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>1.0.1</
com.sun.jersey:jersey核心:1.17.1
如下:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.0.1</version>
</dependency>
我试图通过检查依赖关系树将com.sun.jersey:jersey core:1.17.1
从包含它的依赖关系中排除,从而解决这个问题
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.0.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
</exclusion>
</exclusions>
</dependency>
似乎需要jersey core,但如何解决这个问题呢?jersey是JAX-RS的参考实现,因此您不需要最新版本的JAX-RS API(
javax.ws.RS:javax.ws.RS API:2.0
),而需要最新版本的jersey,即2.8(请参阅).您不能混用JAX-RS
/Jersey
版本
version1是JAX-RS 1的参考实现Jersey
version1使用Jersey
group/package前缀com.sun.Jersey
version2是JAX-RS 2的参考实现Jersey
version2使用Jersey
group/package前缀org.glassfish.Jersey
NoClassDefFoundError
、NoSuchMethodError
或类似内容
如果可能的话,使用JAX-RS/
Jersey
版本2对我来说,这实际上意味着我在某种程度上混合了东西,并且正在使用
$ mvn dependency:list | grep jersey
[INFO] com.sun.jersey:jersey-client:jar:1.11:compile
[INFO] com.sun.jersey:jersey-core:jar:1.0.2:compile
(泽西岛1.x内的冲突)
java.lang.NoClassDefFoundError: com/sun/jersey/core/util/FeaturesAndProperties
at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.7.0_51]
at java.lang.Class.privateGetDeclaredMethods(Class.java:2531) ~[na:1.7.0_51]
at java.lang.Class.getDeclaredMethods(Class.java:1855) ~[na:1.7.0_51]
at com.google.inject.internal.ProviderMethodsModule.getProviderMethods
(ProviderMethodsModule.java:81) ~[guice-3.0.jar:na]
at com.google.inject.internal.ProviderMethodsModule.configure
(ProviderMethodsModule.java:73) ~[guice-3.0.jar:na]
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
~[guice-3.0.jar:na]
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:232)
~[guice-3.0.jar:na]
at com.google.inject.spi.Elements.getElements(Elements.java:101) ~[guice-3.0.jar:na]
at com.google.inject.spi.Elements.getElements(Elements.java:92) ~[guice-3.0.jar:na]
$ mvn dependency:list | grep jersey
[INFO] com.sun.jersey:jersey-client:jar:1.11:compile
[INFO] com.sun.jersey:jersey-core:jar:1.0.2:compile