Esecuzione di “mvn sonar: sonar” senza accesso esterno
Domanda
cerco di eseguire il comando mvn sonar:sonar
su una macchina in cui Maven è configurato per avere accesso agli archivi esterni (in realtà, questo non è esattamente il caso, ma mi aiuta a spiegare il mio problema).
Quindi, attualmente, se corro questo comando, ottengo il seguente errore:
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.codehaus.mojo:sonar-maven-plugin' does not exist or no valid version could be found
Credo che significa che ho un po 'metadati non corretti nel mio repository locale, come ho una directory [local repo]\org\codehaus\mojo\sonar-maven-plugin\1.0-beta-1
(con l'interno JAR, ovviamente).
Avete qualche idea del perché il mio comando sta fallendo?
informazioni tecnologia: Maven 2.2.1, Java 1.6, Sonar 2.1.2
Soluzione 3
Il mio problema è risolto ora, poiché è stato soprattutto un problema di file di metadati Maven.
Il org/codehaus/mojo/sonar-maven-plugin
non contiene il file maven-metadata.xml
corretto. Così, Maven 2 era in grado di sapere quale era necessaria versione del plugin. L'aggiunta è risolto il mio problema.
Altri suggerimenti
Hai provato i suggerimenti del FAQ:
Il plugin 'org.apache.maven.plugins: Maven-sonar-plugin' non esiste o no la versione valida potrebbe essere trovato
Se si riceve questo messaggio di errore dopo lanciando la linea di comando Maven "mvn Sonar: sonar" aggiungere il parametro 'U' per la linea di comando. Maven sarà poi aggiornare il suo deposito locale con il ultima versione del Sonar Maven plugin.
Se aggiungendo il parametro "U" non lo fa risolvere il problema, si è certamente incontrato bug Maven MNG-4001 . Il unica soluzione nota è quella di eliminare il org \ Codehaus \ mojo directory nella vostra repository Maven locale. Certamente se repository Maven locale è sincronizzata con un repository manager come Nexus, questa operazione deve essere anche fatto sul repository manager lato.
Proprio come un suggerimento per chi gestisce Sonar da Jenkins (usando il plugin), abbiamo visto il problema simile a noi stessi.
Ma, come i documenti ufficiali dicono: http://docs.sonarqube.org / display / SONAR / Analizzando + con + Maven nella sezione: Come risolvere la versione di Maven Plugin
È possibile fissare la versione di Sonar-Maven-plugin nella Jenkins -> Configurazione -> Sonar -> "La versione di sonar-Maven-plugin":
- per Maven 2 a 1,0
- per Maven 3 a 2,0
Come risultato sarebbe saltare la risoluzione versione + lookup => a prevenire il problema segnalato qui.
Aggiorna :
Beh, ho appena realizzato, è applicabile per ogni caso non solo Jenkins. È possibile specificare la versione in modo esplicito per evitare di ricerca.