我排除了一个工件,因为它会导致冲突,即下面给出的jsr311-api
。然而,当我运行生成的jar时,我仍然遇到java.lang.NoSuchMethodError
错误。我怀疑另一个依赖项也包括这个工件。我怎样才能找出哪一个?我的依赖列表非常大。哪些依赖项包含包javax.ws.rs.core
?
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.7.3</version>
<exclusions>
<!-- Causes java.lang.NoSuchMethodError: javax.ws.rs.core.Response$Status$Family.familyOf(I)Ljavax/ws/rs/core/Response$Status$Family; -->
<exclusion>
<artifactId>jsr311-api</artifactId>
<groupId>javax.ws.rs</groupId>
</exclusion>
</exclusions>
</dependency>
答案 0 :(得分:1)
转到
http://search.maven.org/#advancedsearch%7Cgav
并使用classname搜索来查找
javax.ws.rs.core.Response
如果您在公司使用Nexus 2.x,也可以在那里使用类名搜索。
如果您想知道给定的工件(例如您通过classnmae搜索找到的)来自哪里,请在Maven中使用dependency:tree
。
答案 1 :(得分:0)
在我的情况下,错误是我必须手动添加javaee api并设置<scope>provided</scope>
这是一个错误,修复它解决了问题。
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope><!-- remove this -->
</dependency>