2010-09-01 20 views
32

Ho appena creato un nuovo progetto Maven utilizzando l'archetipo predefinito e aggiunto la seguente dipendenza al mio file POM.java.net maven repo - Manufatto JMS mancante

<dependencies> 
    <dependency> 
    <groupId>javax.jms</groupId> 
    <artifactId>jms</artifactId> 
    <version>1.1</version> 
    <scope>compile</scope> 
    </dependency> 
</dependencies> 

Rendendosi conto che JAR del sole non sono in Maven centrale a causa di problemi di licenza, ho aggiunto il seguente Maven pronti contro termine al mio POM (so che questo è cattiva pratica però e che deve essere aggiunto a un impostazioni .xml)

<repositories> 
    <repository> 
    <id>Repo ID</id> 
    <layout>default</layout> 
    <name>Java.net Maven repo</name> 
    <releases> 
     <enabled>true</enabled> 
    </releases> 
    <url>http://download.java.net/maven/2/</url> 
    </repository> 
</repositories> 

Ancora vedo questo errore nel mio file POM.

"javax.jms mancanti artefatto: JMS: vaso: 1.1: Compilare"

Qualcuno qui sa che cosa deve essere fatto in aggiunta alla configurazione che ho già?

risposta

45

Rendendosi conto che JAR del sole non sono in Maven centrale a causa di problemi di licenza, ho aggiunto il seguente Maven pronti contro termine al mio POM

Sì, ma http://download.java.net/maven/2/javax/ non avere l'artefatto JMS .. .

la buona notizia è che il repository JBoss Nexus non ce l'ha:

<repository> 
    <id>repository.jboss.org-public</id> 
    <name>JBoss repository</name> 
    <url>https://repository.jboss.org/nexus/content/groups/public</url> 
</repository> 
+1

Che ha funzionato. Grazie Pascal. – Phanindra

+0

Sai se qualcuno ha sorgente e javadoc jars/poms per JMS? Apparentemente JBoss ha solo il JAR binario. – HDave

+1

Se viene visualizzato il messaggio "Nessun connettore disponibile per accedere al repository java.net" dopo aver aggiunto il repository, il problema è che si sta utilizzando Maven3, che non è compatibile con i repository Maven2. Puoi eseguire il downgrade o aggiungere eccezioni: http://stackoverflow.com/questions/7894794/maven-failing-to-resolve-recursive-dependencies-with-multiple-repositories – ceiroa

6

Se si desidera solo il jm s artefatto e non vogliono aggiungere tutto il pronti contro termine, è possibile effettuare le seguenti operazioni:

wget https://repository.jboss.org/nexus/content/groups/public/javax/jms/jms/1.1/jms-1.1.jar 
mvn -e install:install-file -Dfile=./jms-1.1.jar -DartifactId=jms -DgroupId=javax.jms -Dversion=1.1 -Dpackaging=jar 
+0

Grazie. In realtà questa soluzione ha risolto il problema per me. Stavo cercando di costruire Spring RCP 1.1.0 e non è riuscito con l'errore di cui sopra. La tua soluzione l'ha inchiodata. Grazie +1 –

+0

È consigliabile installare un repository Maven personalizzato, se ci si trova in un'organizzazione più grande, in modo che la build sia riproducibile anche al di fuori della macchina locale. – OndrejM

Problemi correlati