我是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
repo 中的文件是正确的,它已经正确生成了 maven-metadata.xml 等等。看来 Maven 从snapshot
repo 正确下载了元数据,确定了正确的时间戳版本,但不知何故它决定从internal
repo下载实际文件而不是snapshots
,这会导致 404 和失败的构建。
我不知道 Maven 是如何工作的,请帮忙。