查找包含给定包的所有依赖项

时间:2017-07-06 14:22:55

标签: maven dependencies

我排除了一个工件,因为它会导致冲突,即下面给出的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>

2 个答案:

答案 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>