【问题标题】:How do I make my Maven Docker image look for it's dependencies/parent in Nexus?如何让我的 Maven Docker 映像在 Nexus 中查找它的依赖项/父项?
【发布时间】:2021-05-25 15:18:24
【问题描述】:

我正在尝试使用 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"]

【问题讨论】:

    标签: docker maven dockerfile nexus parent-pom


    【解决方案1】:

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

    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,但我认为它仍然有效。

    【讨论】:

      猜你喜欢
      • 2014-06-23
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2018-02-23
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      相关资源
      最近更新 更多