私はMavenの初心者です。プロジェクトの内部アーティファクトのリポジトリ サーバーとして機能するローカル Archiva 1.3.6 サーバーをセットアップし、外部リポジトリにミラーリングしようとしています。スナップショット以外は問題なく動作します。Maven バージョン 3.0.5 を使用しています。
これが私のsettings.xml
ファイルのミラー設定です
<mirrors>
<mirror>
<id>internal</id>
<mirrorOf>external:*</mirrorOf>
<name>My Maven Repository</name>
<url>http://my.repo.server:9000/archiva/repository/internal/</url>
</mirror>
</mirrors>
ビルド中に、Maven が間違ったリポジトリからスナップショット アーティファクトをダウンロードしようとします。親の親に設定された2つのリポジトリがありますpom.xml
:internal
およびsnapshots
。
<repositories>
<repository>
<id>internal</id>
<url>http://my.repo.server:9000/archiva/repository/internal/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://my.repo.server:9000/archiva/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
プロジェクトpom.xml
には、次の依存関係があります。
<dependency>
<groupId>com.mygroup</groupId>
<artifactId>metadata-framework</artifactId>
<version>1.0.3.SNAPSHOT</version>
</dependency>
ビルド中、Maven は次のことを試みます。
Downloading:
.../archiva/repository/**snapshots**/com/mygroup/metadata-framework/1.0.3.SNAPSHOT/maven-metadata.xml
Downloaded:
.../archiva/repository/**snapshots**/com/mygroup/metadata-framework/1.0.3.SNAPSHOT/maven-metadata.xml (795 B at 16.9 KB/sec)
Downloading:
.../archiva/repository/**internal**/com/mygroup/metadata-framework/1.0.3.20130908.081541-1/cems-metadata-framework-1.0.3.20130908.081541-1.pom
[WARNING] The POM for com.myground:metadata-framework:jar:1.0.3.20130908.081541-1 is missing, no dependen
cy information available
レポ内のファイルsnapshot
が正しいこと、maven-metadata.xml などが適切に生成されていることなどを確認しました。Maven がsnapshot
レポからメタデータを正しくダウンロードし、正しいタイムスタンプ付きバージョンを決定したようですが、何らかの形でinternal
レポから実際のファイルをダウンロードすることにしました。の代わりにsnapshots
、404 とビルドの失敗につながります。
Mavenがどのように機能するのかわかりません。助けてください。