微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让我的 Maven Docker 映像在 Nexus 中查找它的依赖项/父项?

如何解决如何让我的 Maven Docker 映像在 Nexus 中查找它的依赖项/父项?

我正在尝试使用 Maven Docker 映像来构建项目。项目的 pom 在 Nexus 存储库中有它的父项。当我构建项目时,它说父 pom 不可解析,因为它不在 Nexus 中查找它。如何使图像在 Nexus 中看起来?我可以使用 Maven 安装在我的机器上本地构建相同的项目。

这是我的 Dockerfile 的样子:

FROM maven:3.6.3-amazoncorretto-11
copY settings.xml /usr/share/maven/ref/
CMD ["mvn","-v"]

解决方法

您应该在设置文件中放置一个部分,告诉它nexus 存储库的位置。这是通过服务器和镜像部分完成的,如果您希望覆盖它,也可以在单个 poms 中重复。

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">

  <servers>
    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>nexus-releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>

  <mirrors>
    <mirror>
      <id>central</id>
      <name>central</name>
      <url>http://your-host:8081/repository/maven-group/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>

</settings>

这个例子取自几年前的 a sonatype blog entry,但我认为它仍然有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。