web-dev-qa-db-ja.com

Mavenがjar依存関係のダウンロードに失敗する

Windows 7マシンでEclipse Indigo/Maven v3.0.1セットアップをテストするために作成した非常にシンプルなデフォルトアプリケーションがあります。 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)
39
Andre

それが価値があるものとして、ここに私が経験していることへの答えがあります。

Mavenをv3.0.1のままにすると、上記のミラーを追加する必要があり、正常に機能します。

Mavenをv3.0.3にアップグレードした場合、上記のミラーを削除して機能させる必要があります。 :-)

私は2台の別々のマシンでこれを試しましたが、同じ動作をしました。これは、両方のルーターが同じルーターを通過するため、ここでのネットワークが非難されることを意味します。

とにかく、そこには本質的に2つの回避策があります。どちらが「正しい」応答なのかわかりませんが、少なくとも私は前進し続けます。

回答を提出していただいたすべてに感謝します。

5
Andre

同じ問題がありました。私の場合AVG=アンチウイルスソフトウェアはMavenがアーティファクトをダウンロードするのをブロックしました。一時的に無効にすると役立ちました。

16
David

わかりました、大きなファイルのダウンロードと同じ問題がありました。おそらくすべて、軽量のHTTPワゴンを使用しています。ドキュメントを見ると:

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

既知の制限:

主な制限は、メモリに完全に収まらないデータをダウンロードできないことです。

そこで、Mavenのメモリを増やしました。

export MAVEN_OPTS="-Xmx1024m"

そして出来上がり、それは動作します。 (!!!!)

12
Lee Kamentsky

Java 6。

4
DigCamara

しばらく前とまったく同じ問題がありました-要するに、それはネットワーキングの問題でした。そして、はい、ちょうどあなたが試みたように、私はうまくウェブブラウザでファイルをつかむことができました。

テスト目的でプロキシを使用しており、Mavenのプロキシ設定はブラウザと一致していますか?

2
cschooley

私の場合、ローカルリポジトリ(~/.m2/repository/)、対応するグループを見つけ、ダウンロードが滞っているアーティファクトに.partおよび.part.lock拡張。それらを削除すると助かりました。

0
X. Wo Satuk

同様の問題がありました。変更されたのは、ネクサスのVPNへの移行です。 DNSエントリがキャッシュされていたことが判明しました。

DNSをフラッシュすると修正されました。 Ubuntuのようなシステムの記録:

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