2012-03-02 50 views
2

を取っていることは、リポジトリの1つが一時的に利用できないなどの警告の原因となっているようだ:私は私のアプリのポンポンファイルにそのリポジトリを参照しないMavenのリポジトリのURLがタイムアウトして構築されることは永遠に

[WARNING] Could not transfer metadata org.gbif:gbif-common:0.5-SNAPSHOT/maven-metadata.xml 
from/to eclipselink (http://ftp.ing.umu.se/mirror/eclipse/rt/eclipselink/maven.repo): 
Error transferring file: Operation timed out 

をが、ダウンラインリポジトリまたは依存プロジェクト(?)から来ています。私のブラウザでURL http://ftp.ing.umu.seを押すと、プログレスバーが回転し、最終的にブラウザに「接続できませんでした...」というメッセージが表示されます。

問題はすべての成果物に対して、そのURLを試してから75秒後にタイムアウトしてから処理が続行されることです。したがって、私のビルドは永遠に(1時間以上カウントして)取っています。

リポジトリをチェックしたり、タイムアウト時間を短縮するなどの方法がありますか?

EDIT:mvn clean package -DskipTests=true

+0

そのリポジトリを.m2/settings.xmlに含めることができますか?チェックする価値がある – yorkw

+0

提案していただきありがとうございます。私の.m2/settings.xmlファイルには、独自のリポジトリしか表示されません。 – nickdos

答えて

3

として実行しているMavenのあなたは、既知の良好なリポジトリへの要求をリダイレクトするためにrepository mirrorを使用することができます。実際には、pomファイルで宣言された任意のリポジトリからコードを取得するのを防ぐために、グローバルミラー "*"を任意のリポジトリに設定することをお勧めします。 〜/ .m2/settings.xmlのため

例:この例では

<settings> 
    ... 
    <mirrors> 
    <mirror> 
     <id>global</id> 
     <name>Maven Central</name> 
     <url>http://repo1.maven.org/maven2</url> 
     <mirrorOf>*</mirrorOf> 
    </mirror> 
    </mirrors> 
    ... 
</settings> 

私は、ターゲットとしてのMaven Centralを使用していますが、あなたはどこでもあなたがそのようなプライベートリポジトリとしてたかっに要求をリダイレクトすることができます。複数のリポジトリからコードを取得する必要がある場合は、「!」を使用して例外を作成できます。そのようなあなたの設定で宣言されているレポID。

... 
<mirrorOf>*, !otherRepo</mirrorOf> 
... 

これは、ミラーターゲットにリダイレクトされてから「otherRepo」にrequetsを防ぐことができます。

本当にこの厄介なリポジトリに格納されているアーティファクトが必要になった場合、あなたはまだ運がありません。

+0

私たち自身の依存関係(公的ではない)を見つけることができず、私たち自身のリポジトリには多くの公的人工物がないので、 ' *'を使用することはできませんでした。しかし、私は ' eclipselink'を使用しました。タイムアウトしなくなりました。 – nickdos

関連する問題