2017-07-06 62 views
1

我排除了一個工件,因爲它會導致衝突,即下面給出的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> 

回答

1

轉到

http://search.maven.org/#advancedsearch%7Cgav

,並使用類名搜索找到

javax.ws.rs.core.Response

如果你使用的Nexus 2.X在你的公司,你可以使用類名搜索那裏也是。

如果您想了解給定工件(例如,您是否通過classnmae search發現的),請在Maven中使用dependency:tree

0

在我的情況下,錯誤是我不得不手動添加javaee api,並且我設置了<scope>provided</scope>這是一個錯誤,解決了這個問題。

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>7.0</version> 
    <scope>provided</scope><!-- remove this --> 
</dependency>