web-dev-qa-db-fra.com

Maven Impossible de résoudre les dépendances, les artefacts ne peuvent pas être résolus

Ceci est censé être un projet de travail de mon ami. Il a démontré le projet juste devant moi, puis j'ai copié le projet, je l'ai importé en tant que projet Maven existant (j'utilise le plugin m2Eclipse).

Et puis, cette erreur se produit. Cette erreur peut être reproduite chaque fois que j'essaie de construire quelque chose avec Maven.

Faire mvn dependency: tree, dependency: list ou le package de construction habituel provoquera la même erreur.

L'erreur liée à l'exécution de la compilation 'package' d'Eclipse est la suivante:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Jackpot Portal Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet:jar:2.5.0 is missing, no dependency information available
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0 is missing, no dependency information available
[WARNING] The POM for javax.transaction:com.springsource.javax.transaction:jar:1.1.0 is missing, no dependency information available
[WARNING] The POM for org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.963s
[INFO] Finished at: Tue Jan 11 01:55:41 WIT 2011
[INFO] Final Memory: 2M/56M
[INFO] ------------------------------------------------------------------------

[ERROR] Failed to execute goal on project jackpot: Could not resolve dependencies 
for project com.jeteo:jackpot:war:1.0-SNAPSHOT: The following artifacts could 
not be resolved: javax.servlet:com.springsource.javax.servlet:jar:2.5.0,
javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0, 
javax.transaction:com.springsource.javax.transaction:jar:1.1.0, 
org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6: Failure to find 
javax.servlet:com.springsource.javax.servlet:jar:2.5.0 in 
http://repository.springsource.com/maven/bundles/release was cached in the 
local repository, resolution will not be reattempted until the update 
interval of com.springsource.repository.bundles.release has elapsed or 
updates are forced -> [Help 1]

[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/DependencyResolutionException

Et voici le contenu du fichier pom.xml:

 xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.jeteo</groupId>
 <artifactId>jackpot</artifactId>
 <packaging>war</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>Jackpot Portal Webapp</name>
 <url>http://www.jeteo.com</url>
 <properties>
  <Java-version>1.6</Java-version>
  <org.springframework-version>3.0.3.RELEASE</org.springframework-version>
  <org.hibernate-version>3.6.0.Final</org.hibernate-version>
  <org.aspectj-version>1.6.9</org.aspectj-version>
  <org.slf4j-version>1.5.10</org.slf4j-version>
 </properties>
 <dependencies>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
   <version>${org.springframework-version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-orm</artifactId>
   <version>${org.springframework-version}</version>
  </dependency>
  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${org.springframework-version}</version>
  </dependency>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.8.1</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>net.sf.jt400</groupId>
   <artifactId>jt400</artifactId>
   <version>6.6</version>
   <scope>compile</scope>
  </dependency>

  <!-- Hibernate -->
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>${org.hibernate-version}</version>
   <scope>compile</scope>
  </dependency>
  <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${org.hibernate-version}</version>
            <scope>compile</scope>
        </dependency>

  <!-- AspectJ -->
  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjrt</artifactId>
   <version>${org.aspectj-version}</version>
  </dependency>
  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjtools</artifactId>
   <version>${org.aspectj-version}</version>
  </dependency>

  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>com.springsource.javax.servlet</artifactId>
   <version>2.5.0</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>com.springsource.javax.servlet.jsp.jstl</artifactId>
   <version>1.2.0</version>
   <scope>provided</scope>
  </dependency>
  <!--
  <dependency>
   <groupId>javax.persistence</groupId>
   <artifactId>com.springsource.javax.persistence</artifactId>
   <version>1.0.0</version>
   <scope>compile</scope>
  </dependency>
  -->
  <dependency>
   <groupId>javax.transaction</groupId>
   <artifactId>com.springsource.javax.transaction</artifactId>
   <version>1.1.0</version>
   <scope>compile</scope>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
   <version>1.5.6</version>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>com.springsource.slf4j.log4j</artifactId>
   <version>1.5.6</version>
  </dependency>
  <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-Java</artifactId>
            <version>5.1.11</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>

 </dependencies>
 <repositories>
  <!-- Spring releases -->
  <repository>
   <id>com.springsource.repository.bundles.release</id>
   <name>Spring Maven Repository Repository</name>
   <url>http://repository.springsource.com/maven/bundles/release</url>
  </repository>
  <!-- For hibernate 3.6 support -->
  <repository>
   <id>jboss</id>
   <url>https://repository.jboss.org/nexus/content/groups/public/</url>
  </repository>
 </repositories>
 <build>
  <finalName>jackpot</finalName>
  <plugins>
   <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>Tomcat-maven-plugin</artifactId>
          <version>1.1</version>
          <configuration>
           <url>http://localhost:8080/manager</url>
          </configuration>
      </plugin>
   <plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
     <source>1.6</source>
     <target>1.6</target>
    </configuration>
   </plugin>
  </plugins>
 </build>
</project>

J'ai essayé de télécharger la dernière version de maven et de l'inclure dans l'hélios Eclipse, mais le même problème persiste. Le même message d'erreur se produit même lorsque je l'exécute dans la ligne de commande de Shell (en dehors d'Eclipse).

Qu'est-ce que je rate?

100
bertie

On dirait qu'il vous manque des Maven Repos. Demandez le .m2/settings.xml de votre ami et vous voudrez probablement mettre à jour le POM pour y inclure les référentiels.

--edit: après quelques recherches rapides, essayez d’ajouter ceci à votre POM:

<repository>
    <id>com.springsource.repository.bundles.release</id>
    <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
    <url>http://repository.springsource.com/maven/bundles/release</url>
</repository>
<repository>
    <id>com.springsource.repository.bundles.external</id>
    <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
    <url>http://repository.springsource.com/maven/bundles/external</url>
</repository>
73
wmorrell

Maven a gardé vos fichiers en mémoire cache et ne réessayez pas de les télécharger. Vous pouvez simplement «l'aider» manuellement en supprimant le répertoire .m2, puis notre ami téléchargera tout par-dessus les anciennes dépendances.

14
Chaibi Alaa

Comme source alternative au même problème, cette réponse cite l'utilisation de Maven 3 par rapport à Maven 2 comme cause potentielle de ce problème. C'est presque dû à des changements dans la résolution du référentiel local qui a été modifiée dans Maven 3. Mettre ceci ici au cas où quelqu'un d'autre le chercherait et atteindrait cette réponse (comme je l'ai fait).

7
shiri

La artifactId de toutes les dépendances dont le téléchargement a échoué est incorrecte - pour une raison quelconque, le préfixe com.springsource est ajouté. Problème couper/coller?

Vous pouvez essayer de les remplacer comme suit.

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.6</version>
        </dependency>

Vous pouvez également vouloir ajouter le référentiel central maven pour ces artefacts au cas où ils ne seraient pas disponibles dans les référentiels spécifiés.

  <repository>
   <id>maven2</id>
   <url>http://repo1.maven.org/maven2</url>
  </repository>
4
Raghuram

J'ai eu un problème similaire et je l'ai résolu en ajoutant le dépôt ci-dessous dans mon pom.xml

    <repository>
        <id>org.springframework.maven.release</id>
        <name>Spring Maven Release Repository</name>
        <url>http://repo.springsource.org/libs-release-local</url>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>false</enabled></snapshots>
    </repository>
    <!-- For testing against latest Spring snapshots -->
    <repository>
        <id>org.springframework.maven.snapshot</id>
        <name>Spring Maven Snapshot Repository</name>
        <url>http://repo.springsource.org/libs-snapshot-local</url>
        <releases><enabled>false</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </repository>
    <!-- For developing against latest Spring milestones -->
    <repository>
        <id>org.springframework.maven.milestone</id>
        <name>Spring Maven Milestone Repository</name>
        <url>http://repo.springsource.org/libs-milestone-local</url>
        <snapshots><enabled>false</enabled></snapshots>
    </repository>
3
AAgg

J'ai un message similaire et mon problème est lié à certaines préférences de proxy dans mon fichier settings.xml . Je les ai donc désactivées et tout fonctionne correctement.

1
kdoteu

J'ai eu ce problème. Dans mon cas, cela a été causé par IntelliJIdea en désordre avec certains fichiers pom.xml (ce qui semble être un plaisir en soi!) Je viens de revenir à la copie originale et les choses ont encore fonctionné!

0
JonnyRaa

Téléchargez le fichier jar manuellement, puis exécutez la commande à partir du dossier dans lequel le fichier jar est enregistré:

mvn install: install-file -Dfile = jar_fichier_ar . jar-DgroupId = id_groupe -DartifactId = artefact_id -version = version_no -Dpackaging = jar

Le fichier jar, jar_file_name, group_id, artifact_id et version_no sont disponibles à partir de la page du référentiel maven.

bonne codage :)

0
Cjo

J'ai le même problème que vous et il s'avère que c'est dû au pare-feu de mon ordinateur. Désactivez le pare-feu et essayez à nouveau. Bonne chance !!!

0
Duc Thanh

Mon projet EAR comportait 2 modules * .ear et * .war et j'ai eu cette erreur de dépendance sur le projet *.war lorsque j'ai essayé mvn Eclipse:eclipse. Résolu en résolvant le problème de codage utf-8 dans le projet *.war. Les options mvn-X ou -e n'étaient pas utiles ici.

0
Barun

Ce genre de problèmes est causé par deux raisons:

  1. le sort d'une dépendance est faux 
  2. la configuration du paramètre mvn (c'est-à-dire ~/.m2/settings.xml) est incorrecte

Si la plupart des dépendances peuvent être téléchargées, la raison 1 peut être le bogue le plus probable ..__ Au contraire, si la plupart des dépendances ont le problème, vous devriez jeter un œil à settings.xml.

Eh bien, j'ai essayé de régler mon problème tout l'après-midi et finalement je l'ai compris. Mon problème se produit dans settings.xml, pas l'orthographe perdue ou fausse de settings.xml, mais la perte de activeProfiles .

0
Will

J'ai eu ce problème aussi, il s'est avéré que c'était parce que NetBeans avait ajouté quelque chose à mon fichier pom.xml. Vérifiez que rien n'a été ajouté depuis les déploiements précédents réussis.

0
Eduardo Dennis