Maven не может загрузить зависимости jar - PullRequest
38 голосов
/ 16 августа 2011

У меня есть очень простое приложение по умолчанию, которое я создал для тестирования моей установки 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)

Ответы [ 6 ]

16 голосов
/ 18 апреля 2012

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

12 голосов
/ 25 июня 2013

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

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

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

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

Поэтому я увеличил память для Maven:

export MAVEN_OPTS="-Xmx1024m"

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

5 голосов
/ 17 августа 2011

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

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

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

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

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

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

4 голосов
/ 12 января 2012

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

2 голосов
/ 17 августа 2011

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

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

0 голосов
/ 31 января 2018

У меня была похожая проблема. Что изменилось, так это переход нексуса на VPN. Выяснилось, что у меня кеширована запись DNS.

Флеш DNS исправил это. Для записи для систем, подобных Ubuntu:

sudo systemd-resolve --flush-caches
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...