2014-10-27 23 views
8

sto vedendo il seguente errore (e un paio di altri simili) nei miei marcatori:Il progetto contiene un'altra dipendenza con lo stesso nome dell'archivio

Invalid classpath publish/export dependency C:/Users/LevineJ/.m2/repository/org/bouncycastle/bcmail-jdk14/1.38/bcmail-jdk14-1.38.jar. 
The project contains another dependency with the same archive name. 

Quando faccio una rapida ricerca, trovo bcmail-jdk14.1.jar in due sedi:

  • C: \ Users \ LevineJ.m2 \ repository \ BouncyCastle \ bcmail-jdk14 \ 138
  • C: \ Users \ LevineJ.m2 \ repository \ org \ BouncyCastle \ bcmail-jdk14 \ 1.38

Da quello che ho letto sull'argomento (vari post/articoli), penso che questo abbia a che fare con l'errore che sto vedendo. Qualcuno può fornire alcune informazioni su: 1. Che cosa significa questo errore? 2. Come potrei fare per risolverlo?

Se aiuta, sto usando:

  • Eclipse Java EE - Luna Service Release 1 (4.4.1)
  • M2E plug
  • M2E-WTP plug

Risultato di mvn dependency:tree

C:\Users\LevineJ\Development\default-workspace\adweb>mvn dependency:tree 
Picked up _JAVA_OPTIONS: -Dcom.gxs.common.configuration.proxy.envid=totcpa -Dcom.gxs.common.logging.configfilepath=C:\Users\LevineJ\Development\config\adweb\LogCfg.xml -Dcom.gxs.common.configuration.localenvid=adweb -Dcom.gxs.common.logging.sdklogfile=C:\Users\LevineJ\Development\config\adweb\tgo.log -Dcom.gxs.common.configuration.path=C:\Users\LevineJ\Development\config\adweb\CRC 
[INFO] Scanning for projects... 
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.gxs:adweb:war:${build.number} 
[WARNING] 'version' contains an expression but should be a constant. @ line 9, column 11 
[WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:tomcat-maven-plugin is missing. @ line 325, column 12 
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. 
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects. 
[WARNING] 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building adweb ${build.number} 
[INFO] ------------------------------------------------------------------------ 
[WARNING] The POM for com.gxs:reportservice-client:jar:05.09.00.16 is missing, no dependency information available 
[INFO] 
[INFO] --- maven-dependency-plugin:2.3:tree (default-cli) @ adweb --- 
[WARNING] Missing POM for com.gxs:reportservice-client:jar:05.09.00.16 
[INFO] com.gxs:adweb:war:${build.number} 
[INFO] +- com.opentext.ix.ad:adcommon:jar:LATEST:compile 
[INFO] | +- com.gxs.imclient:IMclient:jar:07.24.00.03:compile 
[INFO] | +- com.gxs.e2eui:wscommon:jar:1.0:compile 
[INFO] | | +- org.apache.woden:woden-impl-dom:jar:1.0M8:compile 
[INFO] | | | +- org.apache.woden:woden-api:jar:1.0M8:compile 
[INFO] | | | +- org.apache.ws.commons.schema:XmlSchema:jar:1.4.2:compile 
[INFO] | | | +- org.apache.ant:ant:jar:1.7.0:compile 
[INFO] | | | +- wsdl4j:wsdl4j:jar:1.6.2:compile 
[INFO] | | | +- xerces:xercesImpl:jar:2.8.1:compile 
[INFO] | | | +- xerces:xmlParserAPIs:jar:2.6.0:compile 
[INFO] | | | \- org.apache.ws.commons.axiom:axiom-api:jar:1.2.7:compile 
[INFO] | | |  +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0.1:compile 
[INFO] | | |  +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.2:compile 
[INFO] | | |  \- jaxen:jaxen:jar:1.1.1:compile 
[INFO] | | \- xml-apis:xml-apis:jar:1.3.04:compile 
[INFO] | +- com.gxs.e2eui:imqsclient:jar:1.0:compile 
[INFO] | | \- org.apache.axis2:axis2-jws-api:jar:1.4.1:compile 
[INFO] | |  +- org.apache.ant:ant-launcher:jar:1.7.0:compile 
[INFO] | |  +- org.apache.ws.commons.axiom:axiom-impl:jar:1.2.7:compile 
[INFO] | |  +- org.apache.ws.commons.axiom:axiom-dom:jar:1.2.7:compile 
[INFO] | |  +- javax.mail:mail:jar:1.4.2:compile 
[INFO] | |  | \- javax.activation:activation:jar:1.1:compile 
[INFO] | |  +- xalan:xalan:jar:2.7.0:compile 
[INFO] | |  +- org.codehaus.woodstox:wstx-asl:jar:3.2.4:compile 
[INFO] | |  \- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile 
[INFO] | +- com.gxs:reportservice-client:jar:05.09.00.16:compile 
[INFO] | +- org.springframework.data:spring-data-commons-core:jar:1.4.1.RELEASE:compile 
[INFO] | +- org.springframework.ws:spring-oxm:jar:1.5.10:compile 
[INFO] | | +- org.springframework.ws:spring-xml:jar:1.5.10:compile 
[INFO] | | \- commons-logging:commons-logging:jar:1.1.1:compile 
[INFO] | +- org.springframework:spring-context:jar:3.1.2.RELEASE:compile 
[INFO] | | +- org.springframework:spring-aop:jar:3.1.2.RELEASE:compile 
[INFO] | | +- org.springframework:spring-expression:jar:3.1.2.RELEASE:compile 
[INFO] | | \- org.springframework:spring-asm:jar:3.1.2.RELEASE:compile 
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.3.2:compile 
[INFO] | +- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.3.2:compile 
[INFO] | +- org.springframework:spring-core:jar:3.1.2.RELEASE:compile 
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.3.3:compile 
[INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.3.2:compile 
[INFO] | | \- commons-codec:commons-codec:jar:1.6:compile 
[INFO] | +- org.apache.commons:commons-lang3:jar:3.3.2:compile 
[INFO] | +- org.slf4j:slf4j-api:jar:1.7.5:compile 
[INFO] | +- org.slf4j:jcl-over-slf4j:jar:1.7.5:runtime 
[INFO] | +- org.slf4j:slf4j-log4j12:jar:1.7.5:runtime 
[INFO] | \- com.thoughtworks.xstream:xstream:jar:1.2.2:compile 
[INFO] |  \- xpp3:xpp3_min:jar:1.1.3.4.O:compile 
[INFO] +- org.jboss.spec:jboss-javaee-6.0:pom:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.resource:jboss-connector-api_1.5_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:jar:1.0.0.Final:provided 
[INFO] | | \- javax.xml:jaxrpc-api:jar:1.1:provided 
[INFO] | |  \- javax.xml.soap:saaj-api:jar:1.3:provided 
[INFO] | +- org.jboss.spec.javax.el:jboss-el-api_2.2_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.4_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.enterprise.deploy:jboss-jad-api_1.2_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.security.auth.message:jboss-jaspi-api_1.0_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.xml.registry:jboss-jaxr-api_1.0_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.jms:jboss-jms-api_1.1_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.servlet.jsp:jboss-jsp-api_2.2_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.2_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.xml.rpc:jboss-jaxrpc-api_1.1_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.2_spec:jar:1.0.0.Final:provided 
[INFO] | +- javax.enterprise:cdi-api:jar:1.0-SP4:provided 
[INFO] | +- javax.jws:jsr181-api:jar:1.0-MR1:provided 
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.0.Final:provided 
[INFO] | +- org.jboss.resteasy:jaxrs-api:jar:2.1.0.GA:provided 
[INFO] | +- stax:stax-api:jar:1.0.1:provided 
[INFO] | \- javax.validation:validation-api:jar:1.0.0.GA:provided 
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.3.2:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.3.2:compile 
[INFO] +- com.sun.faces:jsf-api:jar:LATEST:compile 
[INFO] +- com.sun.faces:jsf-impl:jar:LATEST:compile 
[INFO] +- javax.servlet:jstl:jar:1.2:compile 
[INFO] +- commons-fileupload:commons-fileupload:jar:1.3.1:compile 
[INFO] +- commons-io:commons-io:jar:2.4:compile 
[INFO] +- org.primefaces:primefaces:jar:4.0:compile 
[INFO] +- org.primefaces.extensions:primefaces-extensions:jar:2.0.0:compile 
[INFO] | \- com.google.code.gson:gson:jar:2.2.4:compile 
[INFO] +- org.primefaces.themes:all-themes:jar:LATEST:compile 
[INFO] +- javax.inject:javax.inject:jar:1.0-PFD-1:compile 
[INFO] +- org.springframework:spring-web:jar:3.1.2.RELEASE:compile 
[INFO] | +- aopalliance:aopalliance:jar:1.0:compile 
[INFO] | \- org.springframework:spring-beans:jar:3.1.2.RELEASE:compile 
[INFO] +- commons-lang:commons-lang:jar:2.6:compile 
[INFO] +- log4j:log4j:jar:1.2.15:compile 
[INFO] +- xstream:xstream:jar:1.1.2:compile 
[INFO] +- junit:junit:jar:4.11:compile 
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:compile 
[INFO] +- org.mockito:mockito-all:jar:1.8.5:test 
[INFO] +- org.springframework:spring-test:jar:3.1.2.RELEASE:compile 
[INFO] +- org.glassfish.web:el-impl:jar:2.2:compile 
[INFO] | \- javax.el:el-api:jar:2.2:compile 
[INFO] +- com.lowagie:itext:jar:2.1.7:compile 
[INFO] | +- bouncycastle:bcmail-jdk14:jar:138:compile 
[INFO] | +- bouncycastle:bcprov-jdk14:jar:138:compile 
[INFO] | \- org.bouncycastle:bctsp-jdk14:jar:1.38:compile 
[INFO] |  +- org.bouncycastle:bcprov-jdk14:jar:1.38:compile 
[INFO] |  \- org.bouncycastle:bcmail-jdk14:jar:1.38:compile 
[INFO] +- com.gxs:primefaces-theme-tgo:jar:01.00.00.01:compile 
[INFO] +- com.gxs:crc-client:jar:2.0.11:compile 
[INFO] +- com.gxs:crc-system:jar:2.0.11:compile 
[INFO] +- com.gxs.tglogging:tglogging:jar:05.09.00.02:compile 
[INFO] +- com.gxs.fms:FMSClient:jar:LATEST:compile 
[INFO] \- com.opentext:metrics-service-dto:jar:LATEST:compile 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 3.374 s 
[INFO] Finished at: 2014-11-14T11:26:44-05:00 
[INFO] Final Memory: 12M/306M 
[INFO] ------------------------------------------------------------------------ 

Immagini di Maven Dipendenze/Build Path enter image description here

Schermata dell'Assemblea Deployment enter image description here Grazie.

+1

Controlla il tuo albero delle dipendenze ('mvn dipendenza: tree' o tramite spettatore POM Eclipse) ed escludono quella corretta (' BouncyCastle: bcmail-jdk14: 138'). –

+0

Vedo la dipendenza elencata quando eseguo una 'mvn dependency: tree', ma non nel POM in Eclipse. –

+0

Puoi aggiungere il risultato di 'dependency: tree' alla domanda? –

risposta

9

Il problema è che le dipendenze del runtime *.jar sono pubblicate nella cartella WEB-APP/lib. Se due dipendenze hanno lo stesso nome, non possono essere pubblicate.

La cosa strana del problema è che itext (con le sue dipendenze bouncycastle) è piuttosto comune. Diversi progetti nella nostra azienda ce l'hanno, ma non ho mai visto un avvertimento simile.

Duplicate bouncycastle dependencies

Quindi questo mi domando, dove il problema proviene. Le due dipendenze duplicate (bcmail e bcprov) non sono in realtà duplicate - hanno una versione diversa (quindi diverso nome JAR). Quindi il problema deve essere altrove.

Abilita le Java Build Path (o controllare .classpath file di progetto) e le impostazioni di distribuzione impostazioni Assemblea. È necessario aver incluso involontariamente bcmail duplicato manualmente.

Deployment assembly settings

Assicurarsi inoltre non si dispone di bcmail-jdk14-1.38.jar nel vostro src/main/webapp/WEB-INF/lib/.

E l'ultimo sospetto possibile potrebbe essere una configurazione di distribuzione JBoss non convenzionale che combina due progetti in un'unica applicazione web. Ma non sono così familiare con JBoss Tools (solo supponendo che tu lo stia utilizzando in base alle tue dipendenze).

+0

Grazie per le ottime informazioni - Ho trovato la dipendenza duplicata nel mio percorso di build (lo screeshot è una vista espansa delle mie dipendenze Maven), ma non sono sicuro di come rimuoverlo. Ho cancellato più volte il contenuto della mia cartella '.m2', ma l'errore persiste. –

+0

Non è duplicato ... si prega di notare che c'è un ** punto ** in un nome all'interno del numero di versione. Quindi questo non può causare il problema. –

+0

Si prega di controllare la cartella repo, ci dovrebbero essere 2 jars all'interno dell'org -bouncycastle.Se questo è il caso rimuovere la mappatura di uno dei jar dal tuo pom.xml, questo dovrebbe evitare i 2 jars. –

1

Ho controllato tutte le risposte sopra ma non funzionano per me. Ho scoperto che il mio progetto Maven ha una directory diversa rispetto al normale progetto Java Web. Ho controllato il file .classpath nella directory principale e ho cambiato

<attributes> 
     <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
</attributes> 

a

<attributes> 
     <attribute name="org.eclipse.jst.component.dependency" value="**WebRoot**/WEB-INF/lib"/> 
</attributes> 

che ha risolto il mio problema

1

mi è stato sempre questo problema perché stavo avendo seguente configurazione

  <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>3.0.0</version> 
       <configuration> 
        <outputFileNameMapping>@{artifactId}@[email protected]{extension}@</outputFileNameMapping> 
       </configuration> 
      </plugin> 

Quando ho aggiunto @ version @ a outputFileNameMapping, ha risolto questo errore.

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>3.0.0</version> 
       <configuration> 
        <outputFileNameMapping>@{artifactId}@[email protected]{extension}@[email protected]{version}@</outputFileNameMapping> 
       </configuration> 
      </plugin>