2017-02-13 14 views
0

我在我的gradle中有這個依賴關係樹。 我在依賴項部分包含了axis2-xmlbeans-1.6.1。這使得我的項目還包括我不想要的​​。如何從gradle.build中的axis2中刪除依賴servlet-api

我試圖從依賴關係中刪除它,但它不起作用。

dependencies { 
    compile('org.apache.axis2:axis2-xmlbeans:1.6.1'){ 
      //exclude module: 'javax.servlet:servlet-api:2.3' 
      exclude group: 'javax.servlet' , module: 'servlet-api' 
    } 
... 
} 

gradle dependencies結果:

+--- org.apache.axis2:axis2-xmlbeans:1.6.1 [default] 
| +--- org.apache.axis2:axis2-codegen:1.6.1 [compile,master,runtime] 
| | +--- org.apache.axis2:axis2-kernel:1.6.1 [compile,master,runtime] 
| | | +--- org.apache.ws.commons.axiom:axiom-api:1.2.12 [compile,master,runtime] 
| | | | +--- jaxen:jaxen:1.1.6 [compile,master,runtime] 
| | | | +--- ..... 
| | | +--- javax.servlet:servlet-api:2.3 [compile,master,runtime] 

你知道該如何解決?

回答

1

你的例子不足以複製這個問題。我對這個腳本運行gradle dependencies

apply plugin: "java" 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile('org.apache.axis2:axis2-xmlbeans:1.6.1') { 
     //exclude module: 'javax.servlet:servlet-api:2.3' 
     exclude group: 'javax.servlet', module: 'servlet-api' 
    } 
} 

而且沒有servlet-api。很可能依賴從不同的配置中獲得(可能是master,它看起來像您的自定義配置)。你可以嘗試從那裏消除它,或者你可以從所有配置中刪除依賴:

configurations { 
    master 
    all*.exclude group: 'javax.servlet', module: 'servlet-api' 
} 
+0

你的配置..master幫助我消除servlet-api。謝謝。同時運行gradle依賴關係並查看servlet-api僅取決於axis2。 – David