我支持组织中的Archiva内部存储库,其中某些构建环境无法访问开放式Internet以获取依赖项。我以为我可以将Archiva配置为外部镜像的镜像(镜像将mirrorOf设置为“external。* ,! snapshots”)并使用代理设置它,这样,如果我的某个构建要求提供不在Archiva中的内容,它将使用代理从我使用代理设置的外部源获取依赖关系。在那之后,它将被缓存在Archiva中,而不必从外面获取。
所以我在Archiva配置中代理了codehaus,sonatype(几个),基本的Central,Cloudera for Hadoop等等。但我找不到一个配置,让我的构建不会试图直接转到外部源(它们无法到达),而是通过使用代理来满足我Archiva中尚未存在的东西。
我在这里缺少一些技巧配置吗?或者我是否需要切换到Artifactory或Nexus以获得此类功能?
答案 0 :(得分:3)
您需要在每个构建环境中设置maven设置以指向您的archiva实例 例如$ user.home / .m2 / settings.xml
<mirror>
<id>InternalMirror</id>
<mirrorOf>*</mirrorOf>
<name>Internal Mirror.</name>
<url>http://archivaserver/archivaPath/</url>
</mirror>
我之前没有使用过Archiva,但是我已经成功地使用了Nexus
答案 1 :(得分:1)
更优选切换到联系。
我附上了一个可用于nexus的settings.xml ....
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>F:\m2\repository</localRepository>
<pluginGroups>
<pluginGroup>org.codehaus.sonar</pluginGroup>
</pluginGroups>
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>your-host-id</host>
<port>8080</port>
</proxy>
</proxies>
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*,!sonar</mirrorOf>
<url>http://nexus-repo-url/content/groups/public</url>
<name>Nexus</name>
</mirror>
</mirrors>
<profiles>
<profile>
<id>NexusProfile</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.5</jdk>
</activation>
<repositories>
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
<id>nexus</id>
<name>default-repos</name>
<url>http://nexus-repo-url/content/groups/default-repos</url>
</repository>
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
<id>nexus</id>
<name>default-repos</name>
<url>http://nexus-repo-url/content/groups/default-repos</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
<id>nexus</id>
<name>default-repos</name>
<url>http://nexus-repo-url/content/groups/default-repos</url>
</pluginRepository>
<pluginRepository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
<id>nexus</id>
<name>default-repos</name>
<url>http://nexus-repo-url/content/groups/default-repos</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>NexusProfile</activeProfile>
</activeProfiles>
<servers>
<server>
<id>nexus</id>
<username>anonymous</username>
<password>password</password>
</server>
</servers>
</settings>
答案 2 :(得分:1)
我建议您阅读http://maven.apache.org/guides/mini/guide-mirror-settings.html来配置设置。 我建议你使用性能更高的Archiva 1.4版本系列。 我们目前正在重写ui,看一个真实的样本https://archiva-repository.apache.org/archiva/index.html?request_lang=en。 如果您需要自己的版本,则必须从此处下载快照:https://builds.apache.org/view/A-F/view/Archiva/job/archiva-all-maven-3.x-jdk-1.6/