如何使用 Sonatype Nexus 作为 Ivy 依赖项的镜像 [重复]
Posted
技术标签:
【中文标题】如何使用 Sonatype Nexus 作为 Ivy 依赖项的镜像 [重复]【英文标题】:How to use Sonatype Nexus as a mirror for Ivy dependencies [duplicate] 【发布时间】:2016-03-15 23:22:07 【问题描述】:我喜欢将 Sonatype Nexus 用作公司内部的 maven/ivy 存储库。我的目标是每个请求都发送到 nexus,如果 nexus (尚未)包含请求的工件,它应该将请求委托给官方 maven 存储库。从官方 maven 存储库下载的所有工件都应保存在 nexus 上(作为备份)。此外,我希望能够将我自己的工件保存在服务器上以供其他项目使用(例如内部库)
在过去的项目中,我们设置了一个 Sonatype Nexus 服务器用作 maven 存储库的镜像,它运行良好。现在我正在努力解决一个项目,该项目使用 Ivy 来完成与现有 nexus 安装相同的任务。
在 maven 项目中,我们在 settings.xml 中有以下内容
<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">
<interactiveMode />
<usePluginRegistry />
<offline />
<pluginGroups />
<servers>
<server>
<id>deployment</id>
<username>[USERNAME]</username>
<password>[PASSWORD]</password>
</server>
</servers>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://mavenserver:8081/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
如何使用 Ivy 完成相同的任务?
【问题讨论】:
@mark-oconnor:这绝对不是“现有问题的精确副本”,至少不是您指定它的副本。这个是指使用 Nexus 代理 Ivy 存储库和 Maven,您的参考是使用 Ivy 和 Ant。 【参考方案1】:只要您使用 Ivy 访问 Maven 存储库而不是某些自定义的 Ivy 格式,您就可以使用方法documented in the Nexus Repository Manager documentation。
还可以查看examples project for a working example。
如果您使用 Ant,您还可以使用 Eclipse Aether 代替 Ivy。更多内容请参见文档和示例。
【讨论】:
以上是关于如何使用 Sonatype Nexus 作为 Ivy 依赖项的镜像 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在Sonatype nexus中配置HTTP严格传输安全性
错误记录使用 Sonatype Nexus 搭建 Maven 私服报错 ( Could not start service. Error code: 1060 )