Exécution de « mvn sonar: sonar » sans accès externe
Question
J'essaie d'exécuter la commande mvn sonar:sonar
sur une machine où Maven est configuré pour avoir pas accès aux référentiels externes (en réalité, ce n'est pas exactement le cas, mais il me permet d'expliquer mon problème).
actuellement, si je lance cette commande, je reçois l'erreur suivante:
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.codehaus.mojo:sonar-maven-plugin' does not exist or no valid version could be found
Je pense que cela signifie que j'ai des métadonnées incorrectes dans mon référentiel local, comme je l'ai un répertoire [local repo]\org\codehaus\mojo\sonar-maven-plugin\1.0-beta-1
(avec l'intérieur JAR, bien sûr).
Avez-vous une idée pourquoi ma commande échoue?
infos: technologie Maven 2.2.1, Java 1.6, Sonar 2.1.2
La solution 3
Mon problème est résolu maintenant, car il est principalement un problème de fichier de métadonnées Maven.
Le org/codehaus/mojo/sonar-maven-plugin
ne contient pas le fichier maven-metadata.xml
correct. Ainsi, Maven 2 n'a pas pu savoir quelle version du plugin était nécessaire. Ajout résolu mon problème.
Autres conseils
Avez-vous essayé les suggestions de la FAQ:
Le plugin 'org.apache.maven.plugins: maven-sonar-plugin' n'existe pas ou si aucune version valide n'a été trouvée
Si vous obtenez ce message d'erreur après le lancement de la ligne de commande maven « mvn sonar: sonar » ajouter le paramètre « -U » à la ligne de commande. Maven alors mettre à jour son dépôt local avec le dernière version du Sonar Maven plug-in.
Si vous ajoutez le paramètre « -U » ne résoudre votre problème, vous avez certainement bug Maven rencontré MNG-4001 . le seule solution connue est de supprimer la org répertoire \ Codehaus \ mojo dans votre dépôt local. Bien sûr si votre dépôt local est synchronisé avec un gestionnaire de référentiel comme Nexus, cette opération doit être également fait sur le gestionnaire de dépôt côté.
Tout comme une indication pour ceux en cours d'exécution Sonar de Jenkins (en utilisant le plug-in), nous avons vu nous-mêmes le problème similaire.
Mais comme les documents officiels disent: http://docs.sonarqube.org / affichage / SONAR / Analyse + avec + Maven dans la section: Comment réparer la version du plugin Maven
Vous pouvez corriger la version de-maven-plugin sonar dans le Jenkins -> Configuration -> Sonar -> "Version du plug-in sonar-maven":
- pour Maven 2: 1,0
- pour Maven 3: 2,0
Par conséquent, il sauterait la résolution version + recherche => prévenir le problème signalé ici.
UPDATE :
Eh bien, je viens de réaliser, il est applicable pour tous les cas non seulement jenkins. Vous pouvez spécifier explicitement la version pour empêcher recherche.