Nag*_*gyI 16 java archiva maven
我们正在尝试将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>
Run Code Online (Sandbox Code Playgroud)
然后我添加了以下内容:
<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>
Run Code Online (Sandbox Code Playgroud)
但是,Maven不会尝试在构建时查找snaphot存储库.我做错了什么?顺便说一下,我并没有真正得到<mirrorOf>元素的目的.我试图在内部镜像设置中替换它,central但这仍然无法解决我的问题.
Rag*_*ram 18
经过一些试验和错误后,以下配置对我有用.在这里,我使用默认的archiva配置 - internal保存版本并snapshots仅保留内部快照.
本质上不同于关系,我们需要两个独立的<mirror>和<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>
Run Code Online (Sandbox Code Playgroud)