java—在一个多模块项目中使用SpringBootMaven插件构建所有SpringBootApps docker(oci)映像

swvgeqrz  于 2021-07-15  发布在  Java
关注(0)|答案(1)|浏览(275)

我有一个maven多模块项目,其中大多数模块是spring引导应用程序,还有一些 common 在spring应用程序之间共享的模块。

<modules>
        <module>A</module>
        <module>B</module>
        <module>common</module>
        <module>D</module>
    </modules>

现在,当我想用 spring-boot:build-image ,就像

mvn --projects A,B,D --also-make clean install org.springframework.boot:spring-boot-maven-plugin:2.4.4:build-image

Maven还在跑 build-image 每个人的目标 common 模块,这是过度杀戮:那些 common 模块应该作为jar构建和使用。
(插件目标必须是长格式,如 org.springframework.boot:spring-boot-maven-plugin:2.4.4:build-image 因为在根(父)级没有定义spring引导插件)。
如何从一个项目中构建所有spring启动应用程序 mvn 排队,不是一个接一个吗?
当然,每个springboot应用程序模块都有springbootmaven插件定义和配置,如上所述https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#using-导入
3.2. 在没有父pom的情况下使用spring boot

<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
dfuffjeb

dfuffjeb1#

一个命令似乎不可能做到,所以必须这样做

mvn clean install
mvn --projects A spring-boot:build-image
mvn --projects B spring-boot:build-image
mvn --projects D spring-boot:build-image

相关问题