我们正在尝试使用 Archiva 作为中央和其他外部存储库的 Maven 代理,同时也作为我们的工件的快照存储,这些工件由 Hudson 从 SVN 自动构建并安装到快照存储库。
我无法将 Maven 客户端设置为同时使用内部存储库和快照存储库。我的项目有一些外部依赖项(例如log4j
),它们是从 Archiva 内部存储库正确下载的。此外,我的项目依赖于自己的项目,该项目的工件已构建并安装到快照存储库中。但是,如果我尝试构建项目,Maven 无法找到我的快照工件。
我的配置文件最初有这样的设置:
<mirror>
<id>company-internal</id>
<name>Company's Archiva - Internal Repository</name>
<url>http://www.mycompany.hu/archiva/repository/internal</url>
<mirrorOf>*</mirrorOf>
</mirror>
然后我添加了以下内容:
<mirror>
<id>company-snapshots</id>
<name>Company Archiva - Snapshots Repository</name>
<url>http://www.mycompany.hu/archiva/repository/snapshots</url>
<mirrorOf>apache.snapshots</mirrorOf>
</mirror>
然而,Maven 不会在构建时尝试查找快照存储库。
我做错了什么?顺便说一句,我真的不明白<mirrorOf>
元素目的。我尝试在内部镜像设置中替换它central
但这仍然不能解决我的问题。
经过一番尝试和错误后,以下配置对我有用。这里我使用默认的archiva配置 -internal
保留发布和snapshots
仅保存内部快照。
本质上不同nexus http://nexus.sonatype.org/我们需要两个单独的<mirror>
and <repository>
声明 - 一个用于正常工件,另一个用于快照工件。
<mirrors>
<mirror>
<id>archiva</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8080/archiva/repository/internal</url>
</mirror>
<mirror>
<id>snapshots</id>
<mirrorOf>snapshots</mirrorOf>
<url>http://localhost:8080/archiva/repository/snapshots</url>
</mirror>
</mirrors>
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>internal</id>
<name>Archiva Managed Internal Repository</name>
<url>http://localhost:8080/archiva/repository/internal/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<name>Archiva Managed Internal Repository</name>
<url>http://localhost:8080/archiva/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)