2014-05-20 49 views
1

我有這個在我的應用程序POM:Maven的排斥是持續

   <dependency> 
        <groupId>org.jboss.errai</groupId> 
        <artifactId>errai-cdi-jetty</artifactId> 
        <version>${errai.version}</version> 
        <exclusions> 
         <exclusion> 
          <groupId>org.mortbay.jetty</groupId> 
          <artifactId>jetty-plus</artifactId> 
         </exclusion> 
         <exclusion> 
          <groupId>org.mortbay.jetty</groupId> 
          <artifactId>jetty-naming</artifactId> 
         </exclusion> 
        </exclusions> 
       </dependency> 

不過,我仍然可以看到jetty-plus,並jetty-namingWEB-INF\lib文件夾(即mvn clean install後)。有什麼方法來確定如何解決這個問題。

更新:

然而MVN依賴:樹顯示:

[INFO] +- org.jboss.errai:errai-cdi-jetty:jar:3.0-SNAPSHOT:compile 
[INFO] +- org.eclipse.jetty:jetty-server:jar:9.2.0.RC0:compile 
[INFO] | +- javax.servlet:javax.servlet-api:jar:3.1.0:compile 
[INFO] | +- org.eclipse.jetty:jetty-http:jar:9.2.0.RC0:compile 
[INFO] | \- org.eclipse.jetty:jetty-io:jar:9.2.0.RC0:compile 
[INFO] +- org.eclipse.jetty:jetty-plus:jar:9.2.0.RC0:compile 
[INFO] | \- org.eclipse.jetty:jetty-webapp:jar:9.2.0.RC0:compile 
[INFO] |  +- org.eclipse.jetty:jetty-xml:jar:9.2.0.RC0:compile 
[INFO] |  \- org.eclipse.jetty:jetty-servlet:jar:9.2.0.RC0:compile 
[INFO] |  \- org.eclipse.jetty:jetty-security:jar:9.2.0.RC0:compile 
[INFO] +- org.eclipse.jetty:jetty-jndi:jar:9.2.0.RC0:compile 
[INFO] | \- org.eclipse.jetty:jetty-util:jar:9.2.0.RC0:compile 
+4

首先,檢查你的依賴關係層次結構,並確保你沒有從你所包含的其他東西中挑選那些工件。 – azurefrog

+2

可能它們是不同組/ artifactId下的臨時依賴關係。檢查mvn依賴關係:樹來查看Maven將引入的所有依賴關係以及它們來自哪裏。 – Gimby

+2

@Gimby我認爲你的意思是傳遞的,而不是瞬態的;-) –

回答

0

我建議在您遇到問題的項目上使用mvn dependency:tree。這將打印整個依賴關係樹,您將能夠看到有問題的depdendencies來自哪裏,並將它們排除在正確的位置。

我猜你沒有從正確的模塊排除(記住的依賴可能來自幾個模塊)

編輯:我看你添加的dependency:tree這是偉大的。現在您需要搜索您的依賴關係,並繼續前面提到的內容。

1

對付這是剛剛得到你的依賴整理出來作爲意見建議,最好的辦法,但如果由於某些原因不可行,您還可以通過向maven-war插件添加排除標籤來明確排除不需要的jar文件,如下所示:

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
     <packagingExcludes>WEB-INF/lib/i-dont-want-this.jar</packagingExcludes> 
     </configuration> 
    </plugin> 
    </plugins> 
</build>