当前位置: 首页 > 知识库问答 >
问题:

在一个多模块项目中使用Spring Boot Maven插件构建所有Spring Boot apps docker(OCI)映像

公孙智
2023-03-14

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

xml prettyprint-override">     <modules>
        <module>A</module>
        <module>B</module>
        <module>common</module>
        <module>D</module>
    </modules>

现在,当我想用spring-boot:build-image为Spring应用程序构建docker(OCI)图像时,比如

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

(插件目标必须采用长格式,如org.springframework.boot:spring-boot-maven-plugin:2.4.4:build-image,因为在根(父)级没有定义spring-boot插件)。

如何在一个MVN行中构建项目中的所有Spring Boot应用程序,而不是一个接一个?

当然,每个Spring Boot应用程序模块都有spring-boot-maven-plugin插件的定义和配置,如https://docs.Spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#using-import所述

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>

共有1个答案

爱繁
2023-03-14

这似乎不可能在一个命令中完成,所以必须

mvn clean install
mvn --projects A spring-boot:build-image
mvn --projects B spring-boot:build-image
mvn --projects D spring-boot:build-image
 类似资料:
  • 主要内容:1- 介绍,2- 示例模型,3-创建项目数学库,4- 创建另一个项目:MathWebApp,5- 创建GradleMain项目,6- 构建项目,7- 运行MathWebApp1- 介绍 本教程文章基于: Eclipse Java EE IDE for Web Developers. Version: Mars.1 Release (4.5.1) 如果您是初学者Gradle的。那么建议先看看初学者Gradle(Gradle Hello world)的文章: http://www.yiib

  • 我有一个多模块的项目,有两个模块:war和ear模块。我正在尝试使用Maven发行版插件来管理发行版。 我的配置到目前为止... 父POM: war模块POM: ear模块POM: 正如您看到的表单日志,test-war-0.0.1-sources.jar正在上传两次。这是为什么?我怎样才能编辑我的配置,使它只上传一次?

  • 嗨我在网上搜了一遍,看了一堆文章,所以问题和文档都找不到解决办法,这里是我的问题。 我有一个多模块maven项目,其中包含三个模块a、B和C,a和B独立,C依赖于a和B,当然我有一个父项目。我还设置了一个jenkins服务器来构建这些项目,以及一个nexus存储库。 如有任何帮助,不胜感激。谢谢!

  • 我读过这个:maven:将多模块项目组装到单个jar中 对于该问题的公认答案,我的maven版本是2.2.1,需要maven 3。 我的父母pom。xml: 我只想构建一个x-all-1.0.0-jar-with-dependencies。jar包括 每个子模块类 我该怎么建造它?

  • null 每个模块都有自己的POM,包含如何包装的说明; 然后,父POM负责在每个模块上启动Maven生命周期,并将其推送到工件管理器(Nexus) 我想使用汇编插件将每个模块先前构建的WAR文件打包到一个ZIP文件中。我试图通过在父POM中定义一个程序集描述符来实现这一点,该描述符为每个模块定义一个单独的dependencySet(使用groupID、artifactID和version在本地r

  • 考虑以下Gradle项目结构: 根在哪里构建。gradle的子项目配置如下: 现在,当我在根项目上调用时,它会自动配置两个子项目,然后构建它们——一切都很好。 我也知道我可以用各种方法跳过一个特定的任务(,等),但是当我使用上的任何一个时,Gradle仍然运行所有依赖的任务(,,等),直到最后击中,然后跳过。 我的问题是,有没有办法让Gradle在配置阶段结束后立即停止并转到下一个子项目? 编辑: