【发布时间】:2021-04-02 21:02:26
【问题描述】:
我有以下多阶段 dockerfile 尝试复制我的多模块 java maven 项目的每个模块并使用 mvn clean install 构建我的 ear 文件。
dockerfile:
# Copy files from local to maven image and build ear
FROM maven:3.5-jdk-8 AS build
COPY module1 /usr/src/app/src
COPY module2 /usr/src/app/src
COPY module3 /usr/src/app/src
COPY pom.xml /usr/src/app
RUN mvn -f /usr/src/app/pom.xml clean install
# Create server image + rest of docker file (working ok)
我得到的错误如下:
Step 8/20 : RUN mvn -f /usr/src/app/pom.xml clean install
---> Running in cf9d8c1ef9ed
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for com.company.web:api:21.01-SNAPSHOT:
Could not find artifact com.company.parent:jee6:pom:1.0.1-SNAPSHOT and
'parent.relativePath' points at wrong local POM @ line 8, column 10
@
[ERROR] The build could not read 1 project -> [Help 1]
pom.xml 中与此错误对应的部分:
<parent>
<groupId>com.company.parent</groupId>
<artifactId>jee6</artifactId>
<version>1.0.1-SNAPSHOT</version>
</parent>
我认为这个问题是因为当尝试在 maven docker 映像中运行命令时,它看不到我的本地 .m2 文件夹?它正在寻找的依赖是对我本地机器的私有依赖。
也可以复制我的 maven settings.xml 帮助吗?
我该如何解决这个问题?我不希望有人必须在他们的机器上安装 Maven 才能运行这个 dockerfile。
【问题讨论】:
标签: java docker maven dependencies pom.xml