Подтвердить что ты не робот

Maven не загружает зависимости jar

У меня очень простое приложение по умолчанию, которое я создал для тестирования моей установки Eclipse Indigo/Maven v3.0.1 на моей машине с Windows 7. Приложение Hello World отлично работает с Eclipse.

Теперь из командной строки я пытаюсь проверить с помощью mvn install.

В какой момент я вижу, что Maven загружает большую серию зависимостей. По какой-то причине, хотя он застрянет, загрузив один, и просто остановится. Это не в один и тот же момент каждый раз, но в настоящее время он неизменно является одним и тем же файлом jar, например...

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

Если я загружу этот файл из браузера, он отлично работает. Довольно быстро. Теперь, если я вручную скопирую этот загруженный файл в соответствующий каталог в моем каталоге репозитория .m2, установка продолжит загружать зависимости, пока не ударит другой случайный случай, который он остановит.

Здесь мой POM, хотя я не уверен, что он поможет, поскольку он настолько базовый и, кажется, отлично работает с 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>

Вот какой отладочный вывод, ссылающийся на какой-то фиктивный файл jar?

[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)
4b9b3361

Ответ 1

Ну, для чего это стоит, вот ответ на то, что я испытывал.

Если оставить Maven в версии 3.0, я должен добавить зеркало, указанное выше, и оно отлично работает.

Если я обновляю Maven до v3.0.3, тогда мне нужно удалить зеркало, указанное выше, чтобы заставить его работать.: -)

Я пробовал это на двух отдельных машинах и имел одинаковое поведение. Это может означать, что сеть здесь виновата, поскольку они оба проходят через один и тот же маршрутизатор.

Во всяком случае, там, по сути, есть два обходных пути. Я не уверен, что это либо "правильный" ответ, но они заставляют меня двигаться вперед по крайней мере.

Спасибо всем, что представили ответы.

Ответ 2

У меня была та же проблема. В моем случае антивирусное программное обеспечение AVG заблокировало Maven от загрузки артефактов. Отключение его временно помогло.

Ответ 3

ОК, ребята, у меня была такая же проблема с загрузкой большого файла. Мы все, вероятно, используем легкий HTTP-вагон. Если вы посмотрите на документы:

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

Известное ограничение:

Основное ограничение заключается в том, что вы не можете загружать данные, которые не полностью помещаются в память.

Итак, я увеличил память для Maven:

export MAVEN_OPTS="-Xmx1024m"

и вуаля, это работает. (!!!!)

Ответ 4

Я решил эту проблему, перейдя на Java 6.

Ответ 5

У меня была точно такая же проблема, а короткая история - это сетевая проблема. И, да, точно так же, как вы пробовали, я мог бы отлично захватить файл с помощью веб-браузера.

В целях тестирования используется прокси-сервер, а настройки прокси-сервера в Maven соответствуют браузеру?