2010-01-06 2 views
3

Même après avoir effacé mon settings.xml, j'obtiens toujours cette erreur lorsque j'essaie d'utiliser cette dépendance d'instantané. Compte tenu de la dépendance:Maven ne parvient pas à télécharger l'instantané de plugin tomcat-maven-plugin

<plugin>    
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <configuration>     
     <path>/licensing</path> 
     <tomcatWebXml>${basedir}/src/main/mock/web.xml</tomcatWebXml> 
    </configuration> 
</plugin> 

et (dans le POM), la définition du référentiel de plug-in:

<pluginRepository> 
    <id>Codehaus Snapshots</id> 
    <url>http://snapshots.repository.codehaus.org</url> 
    <snapshots> 
     <enabled>true</enabled> 
    </snapshots> 
    <releases> 
     <enabled>true</enabled> <!-- Workaround for MNG-2974, see note below --> 
    </releases> 
</pluginRepository> 

Je suis parti avec l'erreur 404 suivante. Si je navigue réellement vers ce repo, le pot qu'il cherche n'est pas là, il est juste daté (je ne connais pas la mécanique de la façon dont Maven résout finalement les noms de dépendances attendus).

Des idées?

 
Downloading: http://snapshots.repository.codehaus.org/org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-pl 
ugin-1.0-SNAPSHOT.jar 
[INFO] Unable to find resource 'org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT' in repository Codehaus 
Snapshots (http://snapshots.repository.codehaus.org) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] A required plugin was not found: Plugin could not be found - check that the goal name is correct: Unable to downl 
oad the artifact from any repository 

Try downloading the file manually from the project website. 

Then, install it using the command: 
    mvn install:install-file -DgroupId=org.codehaus.mojo -DartifactId=tomcat-maven-plugin -Dversion=1.0-SNAPSHOT -Dpacka 
ging=maven-plugin -Dfile=/path/to/file 

Alternatively, if you host your own repository you can deploy the file there: 
    mvn deploy:deploy-file -DgroupId=org.codehaus.mojo -DartifactId=tomcat-maven-plugin -Dversion=1.0-SNAPSHOT -Dpackagi 
ng=maven-plugin -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] 


    org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT 

from the specified remote repositories: 
    central (http://repo1.maven.org/maven2), 
    Codehaus Snapshots (http://snapshots.repository.codehaus.org) 


    org.codehaus.mojo:tomcat-maven-plugin:maven-plugin:1.0-SNAPSHOT 

from the specified remote repositories: 
    central (http://repo1.maven.org/maven2), 
    Codehaus Snapshots (http://snapshots.repository.codehaus.org) 


[INFO] ------------------------------------------------------------------------ 
[INFO] For more information, run Maven with the -e switch 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2 seconds 
[INFO] Finished at: Wed Jan 06 10:06:49 EST 2010 
[INFO] Final Memory: 14M/36M 
[INFO] ------------------------------------------------------------------------ 
+0

Son chemin de téléchargement est incorrect. Les ressources sont ici: http://snapshots.repository.codehaus.org/org/codehaus/mojo/tomcat-maven-plugin/ Y at-il quelque chose d'incorrect dans la configuration du dépôt? –

+0

Mike: correction de la fin /, la même erreur se produit. –

+0

Hmm ... ces extraits fonctionnent bien pour moi. Essayez de l'ajouter au pom.xml vide – axtavt

Répondre

10

Je revérifié et, avec les fragments pom suivants:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    ... 
    <pluginRepositories> 
    <pluginRepository> 
     <id>Codehaus Snapshots</id> 
     <url>http://snapshots.repository.codehaus.org/</url> 
     <snapshots> 
     <enabled>true</enabled> 
     </snapshots> 
     <releases> 
     <enabled>true</enabled> <!-- Workaround for MNG-2974, see note below --> 
     </releases> 
    </pluginRepository> 
    </pluginRepositories> 
    ... 
    <build> 
    <finalName>my-webapp</finalName> 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>tomcat-maven-plugin</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     </plugin> 
     ... 
    </plugins> 
    ... 
    </build> 
</project> 

L'INSTANTANÉ du plugin a été téléchargé avec succès:

 
$ mvn clean 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building my-webapp Maven Webapp 
[INFO] task-segment: [clean] 
[INFO] ------------------------------------------------------------------------ 
[INFO] snapshot org.codehaus.mojo:tomcat-maven-plugin:1.0-SNAPSHOT: checking for updates from Codehaus Snapshots 
[INFO] snapshot org.codehaus.mojo:tomcat-maven-plugin:1.0-SNAPSHOT: checking for updates from maven2-repository.dev.java.net 
Downloading: http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-plugin-1.0-20091222.232027-11.pom 
5K downloaded (tomcat-maven-plugin-1.0-20091222.232027-11.pom) 
Downloading: http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/tomcat-maven-plugin-1.0-20091222.232027-11.jar 
48K downloaded (tomcat-maven-plugin-1.0-20091222.232027-11.jar) 
[INFO] [clean:clean {execution: default-clean}] 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESSFUL 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 9 seconds 
[INFO] Finished at: Wed Jan 06 16:13:28 CET 2010 
[INFO] Final Memory: 7M/78M 
[INFO] ------------------------------------------------------------------------ 

Il est très bizarre parce que je ne vois pas toute différence, mais les choses fonctionnent comme prévu. En d'autres termes, je ne peux pas reproduire ...


Dans votre dépôt local, avez-vous maven-metadata*.xml fichiers dans le répertoire 1.0-SNAPSHOT pour l'artefact-plugin tomcat-maven? Correspondent-ils à ceux du serveur distant? Est-ce qu'ils spécifient correctement le numéro de build et l'horodatage?

Si elles sont incorrectes localement, l'exécution de maven avec -U pourrait aider.

Vous pouvez également vérifier mvn help:effective-pom et voir ce que Maven pense que le updatePolicy est pour les instantanés sur ce référentiel. Ou peut-être simplement supprimer votre artefact tomcat-maven-plugin de votre dépôt local et essayez à nouveau.

Si rien ne vous aide, essayez de l'installer manuellement (téléchargez le plugin depuis le référentiel et utilisez le mojo mvn install:install-file) ou extrayez les sources du VCS et créez-le localement. Mais ces options ne sont que des solutions de contournement, vous avez un problème quelque part (quelle version de maven utilisez-vous?).

+0

Merci Pascal. Juste essayé un POM autrement vide et obtenu le même résultat, avec la JVM Sun et IBM sur JAVA_HOME. Je vais essayer quelques autres machines. –

+0

Juste testé sur une autre machine soutenue par mon installation Nexus et cela a bien fonctionné. Je me demande ce qui ne va pas avec mon poste de travail. –

+0

Vérifiez votre ~ '/ .m2/settings.xml', nettoyez votre dépôt local ou installez la dernière version de maven. En fait, il est difficile de deviner les différences à distance :) –

1

Vous ne savez pas exactement, mais il semble qu'ils utilisent une forme quelconque du plugin maven "buildnumber" pour inclure les numéros de révision de contrôle de version.

Jetez un oeil à http://snapshots.repository.codehaus.org//org/codehaus/mojo/tomcat-maven-plugin/1.0-SNAPSHOT/maven-metadata.xml et vous remarquerez que, en plus de la substance normale, theres un tag xml pour buildnumber et timestamp.

Cela peut ne pas être idéal, mais vous pourriez être en mesure de remplacer:

<version>1.0-SNAPSHOT</version> 

avec:

<version>1.0-20091222.232027-11</version> 

au moins se lever et courir avec la dernière version du plug-in.

+0

Cela n'a rien à voir avec le plugin maven "buildnumber", c'est exactement la manière dont les dépendances SNAPSHOT fonctionnent dans Maven 2. Lorsque vous déployez un SNAPSHOT, la version est développée en horodatage et résolue en utilisant les métadonnées. Coder en dur l'horodatage dans la balise de version est une mauvaise, très mauvaise idée. Si vraiment vous voulez contourner quelque chose, téléchargez le plugin manuellement. Mais le vrai problème est ailleurs, les choses fonctionnent bien sur ma machine © –

6

Je sais que cet article est un peu ancien, mais le plugin maven de tomcat a été déplacé dans le dépôt apache maven. Codehaus héberge seulement la version 1.0 du plugin. Si vous voulez un snapshot 2.0 (donc vous pouvez lancer tomcat 7), vous devez changer votre pom.xml un peu. Notez que 2.0 est en cours de développement.

<repositories> 
... 
    <repository> 
     <id>people.apache.snapshots</id> 
     <url>http://repository.apache.org/content/groups/snapshots-group/</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
</repositories> 

<pluginRepositories> 
    <pluginRepository> 
     <id>apache.snapshots</id> 
     <name>Apache Snapshots</name> 
     <url>http://repository.apache.org/content/groups/snapshots-group/</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </pluginRepository> 
</pluginRepositories> 

Et votre configuration de plugin va comme ceci:

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0-SNAPSHOT</version> 
</plugin> 
+0

Super !!! Ça m'a aidé. Merci –

0

Tout d'abord laissez-moi vous dire que vous ne téléchargez pas le tomcat-maven-plugin pour Eclipse comme d'autres plugins Eclipse.

Vous utilisez simplement les outils Maven dans Eclipse, pour insérer le plugin maven correct des commandes de construction dans votre fichier Maven pom.xml .....

Si quelqu'un est d'avoir du mal à comprendre comment obtenir leur projet Maven exécuter comme une configuration de build Maven, il y a quelques choses que vous pourriez avoir besoin de chercher:

Je voudrais télécharger une image, mais oh bien ....

Dans votre Web App Eclipse, espérons-vous avoir un fichier Maven POM.xml, sinon vous devez d'abord le configurer.

Ensuite, vous pouvez faire un clic droit dessus, puis trouver Maven dans votre menu, puis l'élément du sous-menu s'affiche, avec un choix appelé Ajouter un plugin.

Il y a un champ appelé « Entrez groupId, artifactId ou SHA1, etc .... Tapez le mot Tomcat là.

Il sera ensuite les résultats de recherche de charge dans la case ci-dessous.

Fondamentalement ce que cela fait est les détails de charge dans votre pom.xml à quels plug-ins pour télécharger lors de la construction avec Maven.

Après cela, vous devez faire le build Maven.

Alors, vous voulez aller exécuter Configurations et mak Assurez-vous que vous avez le bon chemin vers l'endroit où votre webapp vit.

Également dans cette page, sous les types de type TomCat: exécuter puis appliquer Enfin exécuter.

Si tout va bien, vous aurez un serveur Tomcat exécutant l'application web. Ensuite, vous pouvez accéder à un navigateur et entrer [http: // localhost: 8080/nomapplicationWeb/defaultpagename]

et walla!

Questions connexes