java - 如何正确设置 Maven Spring Boot 多模块项目?
问题描述
经过一些研究尝试失败后,我仍然无法清楚地解决以下问题:
Project-All - "Ability to combine Module #1 & Module #2 and to run in dev (Test full solution)"
|
+ Module_1 - "Ability to run independently in dev (Different dev team)"
| - pom.xml
+ Module_2 - "Ability to run independentlyin dev (Different dev team)"
| - pom.xml
- pom.xml
我想分别构建和运行 module_1 和 module_2 以及组装。在尝试了针对 Maven 的组装插件但没有取得显着成功(或过于复杂的解决方案)之后,我现在正在尝试使用Spring Boot Plugin for Maven,这似乎更易于使用。
那么对于如何使用Spring Boot Plugin for Maven正确构建此类设置,我们有什么建议吗?
谢谢
解决方案
这是您可以尝试的一种方法:
在主模块 POM 中,您可以使用 maven 发布插件,如下所示:
...
<packaging>pom</packaging>
<modules>
<module>module1..</module>
<module>module2..</module>
</modules>
...
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<goals>install</goals>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
</plugins>
</build>
如果您希望以它们可以自行运行的方式构建子模块:
您可以在模块 pom 中使用 maven repckage 目标,如下所示:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
有可能在此配置中提供主类的名称。查看官方文档
推荐阅读
- algorithm - 用字典优化O(n^2)算法,有没有可能走得更远
- r - 如何将日期转换为R中的文本?
- linux - 有没有办法从 EC2 实例中获取文件夹,然后每天将其内容发送到存储桶
- javascript - 来自 Axios 的数据结果
- javafx - 关于创建简单教程和启动的 Nullpointer
- google-kubernetes-engine - Cloud Run for Anthos:配置“
"没有任何现成的Revision - r - R按结束值选择行
- html - 在当前选项卡按钮下添加下划线
- html - 更改提交按钮占位符不起作用?
- ngx-quill - 如何用内联样式替换 ql-classes ngx-quill