如何在Docker中构建特定的子Maven模块?

时间:2018-10-09 15:53:13

标签: java maven docker

我的整个Maven项目包含多个模块,其中每个模块都对应于某个服务。我决定为每个服务创建单独的Dockerfile。 pom.xml | x----module1 | | | x----pom.xml | x----module2 | | | x----pom.xml | x----module3 | x----pom.xml
我需要为每个模块创建一个单独的Dockerfile。例如,对于module1,我创建一个DockerfileModule1并复制父pom.xml,然后复制一个特定模块的pom.xml及其src文件夹,如下所示。

DockerfileModule1

...
# Copy source and required setup files
ADD pom.xml pom.xml
ADD module1/pom.xml ./module1/pom.xml

# Maven building commands
RUN mvn clean package -DskipTests=true -pl module1

构建上面的docker映像时,出现如下错误

Child module /module2 of /pom.xml does not exist @

可能是因为父级pom.xml包含以下部分:

<modules>
    <module>module1</module>
    <module>module2</module>
    <module>module3</module>
</modules>

请让我知道,我应该如何组织我的pom文件或Dockerfile,这应该允许我仅构建module1的docker映像。

0 个答案:

没有答案