【发布时间】:2017-08-05 05:08:25
【问题描述】:
我的公司目前在内部转而使用 Nexus 3(在 Docker 上运行)作为存储库管理工具。作为其中的一部分,我使用以下 curl 命令将公司内部的 Maven 工件迁移到 Nexus:
curl -v -u adminUsername:adminPassword \
--upload-file artifact.pom \
http://my-nexus-server/repository/maven-releases/groupId/artifactId/version/artifactId-version.pom
此命令有效,所有文件都已成功上传到 Nexus。然而,当groupId 有几个部分(例如org.apache.maven.plugins)时,我(错误地)没有将groupId 的点转换为斜线。因此,我最终得到了一个类似于此的 URL:
http://my-nexus-server/repository/maven-releases/org.apache.maven.plugins/maven-javadoc-plugin/1.2.3/maven-javadoc-plugin-1.2.3.pom
结果证明是个问题,因为当 Maven 读取pom.xml 文件时,它转换了以下依赖:
<dependency>
<groupId> org.apache.maven.plugins </groupId>
<artifactId> maven-javadoc-plugin </artifactId>
<version> 1.2.3 </version>
</dependency>
到以下网址:
http://my-nexus-server/repository/maven-releases/org/apache/maven/plugins/maven-javadoc-plugin/1.2.3/maven-javadoc-plugin-1.2.3.pom
所以,我需要做两件事之一:
- 找到一种方法告诉 maven(最好在
settings.xml中)在运行mvn install时不将groupId的点转换为斜线。 - Nexus 存储库中的大规模更改 URI。 (我也会进行单工件 URI 更改)
为了记录,我们使用的是 Nexus 3 和 Maven 3。Nexus 中的 Maven 存储库是 Maven 2 托管的存储库。
对这些任务有任何想法吗?
提前致谢!
【问题讨论】:
标签: maven installation uri nexus