web-dev-qa-db-fra.com

Maven ne parvient pas à télécharger les dépendances de jar

J'ai une application par défaut très simple que j'ai créée pour tester ma configuration Eclipse Indigo/Maven v3.0.1 sur mon ordinateur Windows 7. L'application Hello World fonctionne bien à partir d'Eclipse.

Maintenant, à partir de la ligne de commande, j'essaie de tester avec mvn install.

À ce stade, je vois que Maven télécharge une grande série de dépendances. Pour une raison quelconque, le téléchargement en est un et le blocage s’arrête à mi-parcours. Ce n'est pas au même point à chaque fois, mais c'est toujours le même fichier jar, par exemple ...

http://repo1.maven.org/maven2/org/Apache/maven/surefire/surefire-booter/2.5/surefire-booter-2.5.jar

Si je télécharge ce fichier depuis un navigateur, cela fonctionne parfaitement. Assez vite en fait. Maintenant, si je copie manuellement ce fichier téléchargé dans le répertoire approprié de mon répertoire de référentiel .m2, l'installation continue à télécharger les dépendances jusqu'à ce qu'elle en rencontre une autre au hasard, à laquelle elle s'arrête.

Voici mon POM, bien que je ne sois pas sûr que cela aide, car il est très basique et semble fonctionner correctement avec un mvn compile.

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.kyeema</groupId>
  <artifactId>QServer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>QServer</name>
  <url>http://maven.Apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

Voici une sortie de débogage faisant référence à un fichier JAR factice?

[INFO] Surefire report directory: C:\workspace\QServer\target\surefire-reports
[DEBUG] Setting system property [user.dir]=[C:\workspace\QServer]
[DEBUG] Setting system property [localRepository]=[C:\Users\Andre\.m2\repository]
[DEBUG] Setting system property [basedir]=[C:\workspace\QServer]
[DEBUG] Using JVM: C:\Program Files\Java\jdk1.7.0\jre\bin\Java
[DEBUG] dummy:dummy:jar:1.0 (selected for null)
[DEBUG]   org.Apache.maven.surefire:surefire-booter:jar:2.7.2:compile (selected for compile)
[DEBUG]     org.Apache.maven.surefire:surefire-api:jar:2.7.2:compile (selected for compile)
[DEBUG] Adding to surefire booter test classpath: C:\Users\Andre\.m2\repository\org\Apache\maven\surefire\surefire-booter\2.7.2\surefire-booter-2.7.2.jar Scope: compile
[DEBUG] Adding to surefire booter test classpath: C:\Users\Andre\.m2\repository\org\Apache\maven\surefire\surefire-api\2.7.2\surefire-api-2.7.2.jar Scope: compile
[DEBUG] dummy:dummy:jar:1.0 (selected for null)
[WARNING] Missing POM for org.Apache.maven.surefire:surefire-junit3:jar:2.7.2: Error resolving project artifact: Failure to find org.Apache.maven.surefire:surefire-junit3:pom:2.7.2 in http://mirrors.ibiblio.org/pub/mirrors/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of ibiblio.org has elapsed or updates are forced for project org.Apache.maven.surefire:surefire-junit3:pom:2.7.2
[DEBUG]   org.Apache.maven.surefire:surefire-junit3:jar:2.7.2:test (selected for test)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.626s
[INFO] Finished at: Tue Aug 16 13:18:42 PDT 2011
[INFO] Final Memory: 8M/154M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-surefire-plugin:2.7.2:test (default-test) on project QServer: Error to resolving surefire provider dependency: Missing:
[ERROR] ----------
[ERROR] 1) org.Apache.maven.surefire:surefire-junit3:jar:2.7.2
[ERROR] 
[ERROR] Try downloading the file manually from the project website.
[ERROR] 
[ERROR] Then, install it using the command:
[ERROR] mvn install:install-file -DgroupId=org.Apache.maven.surefire -DartifactId=surefire-junit3 -Dversion=2.7.2 -Dpackaging=jar -Dfile=/path/to/file
[ERROR] 
[ERROR] Alternatively, if you Host your own repository you can deploy the file there:
[ERROR] mvn deploy:deploy-file -DgroupId=org.Apache.maven.surefire -DartifactId=surefire-junit3 -Dversion=2.7.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
[ERROR] 
[ERROR] Path to dependency:
[ERROR] 1) dummy:dummy:jar:1.0
[ERROR] 2) org.Apache.maven.surefire:surefire-junit3:jar:2.7.2
[ERROR] 
[ERROR] ----------
[ERROR] 1 required artifact is missing.
[ERROR] 
[ERROR] for artifact:
[ERROR] dummy:dummy:jar:1.0
[ERROR] 
[ERROR] from the specified remote repositories:
[ERROR] ibiblio.org (http://mirrors.ibiblio.org/pub/mirrors/maven2, releases=true, snapshots=false)
38
Andre

Eh bien pour ce que ça vaut, voici la réponse à ce que j'ai vécu.

Si je quitte Maven à la v3.0.1, je dois ajouter le miroir indiqué ci-dessus et cela fonctionne bien.

Si je mets à niveau Maven vers la version 3.0.3, je dois alors supprimer le miroir indiqué ci-dessus pour que cela fonctionne. :-)

J'ai essayé ceci sur deux machines distinctes et mon comportement était identique. Cela pourrait signifier que le réseau est à blâmer car ils passent tous deux par le même routeur.

Quoi qu'il en soit, il y a donc essentiellement deux solutions de contournement. Je ne suis pas sûr que ce soit la réponse "correcte", mais ils me font au moins avancer.

Merci à tous ceux qui ont répondu.

5
Andre

J'ai eu le même problème. Dans mon cas, le logiciel antivirus AVG empêchait Maven de télécharger des artefacts. La désactiver temporairement a aidé.

16
David

OK les gars, j'ai eu le même problème lors du téléchargement d'un fichier volumineux. Nous utilisons probablement tous le wagon HTTP léger. Si vous regardez la documentation:

http://maven.Apache.org/wagon/wagon-providers/wagon-http-lightweight/

Limite connue:

La principale limitation est que vous ne pouvez pas télécharger des données qui ne rentrent pas entièrement dans la mémoire.

J'ai donc augmenté la mémoire pour Maven:

export MAVEN_OPTS="-Xmx1024m"

et voila, ça marche. (!!!!)

12
Lee Kamentsky

J'ai résolu ce problème en rétrogradant Java 6.

4
DigCamara

J'ai eu exactement le même problème il y a un certain temps - la longue histoire était un problème de réseautage. Et, oui, tout comme vous avez essayé, je pourrais très bien saisir le fichier avec un navigateur Web.

Utilisez-vous un proxy à des fins de test et les paramètres de proxy de Maven correspondent-ils au navigateur?

2
cschooley

J'ai eu le même problème. Ce qui a changé, c’est le passage du lien au VPN. Il s'est avéré que j'avais une entrée DNS en cache.

Flushing DNS a corrigé le problème. Pour enregistrer des systèmes similaires à Ubuntu:

Sudo systemd-resolve --flush-caches
0
Ondrej Burkert