2017-02-13 1 views
0

J'ai cette arborescence de dépendances dans mon gradle. J'ai inclus la section axis2-xmlbeans-1.6.1 dans la section des dépendances. Cela rend mon projet également inclure servlet-api-2.3 dont je ne veux pas.comment supprimer la dépendance servlet-api de axis2 dans gradle.build

J'ai essayé de le supprimer des dépendances, mais cela ne fonctionne pas.

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' 
    } 
... 
} 

Résultat de 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] 

Savez-vous la solution?

Répondre

1

Votre exemple n'est pas assez bon pour répliquer le problème. J'ai couru gradle dependencies sur ce script:

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' 
    } 
} 

Et il n'y a pas servlet-api. Il est probable que la dépendance entre dans une configuration différente (peut-être master, cela ressemble à votre configuration personnalisée). Vous pouvez essayer d'éliminer à partir de là, ou vous pouvez supprimer une dépendance de toutes les configurations:

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

Vos configurations ..master m'aide à éliminer servlet-api. Merci. Également exécuter des dépendances de gradle et voir que servlet-api dépend seulement de axis2. – David