Java 如何在多模块maven项目中分别运行多个模块
我创建了一个多模块maven项目,每个模块都是SpringBoot应用程序。我想运行父项目下的每个模块 例如:Java 如何在多模块maven项目中分别运行多个模块,java,spring,maven,spring-boot,Java,Spring,Maven,Spring Boot,我创建了一个多模块maven项目,每个模块都是SpringBoot应用程序。我想运行父项目下的每个模块 例如: Parent p --模块A --src --pom.xml --模块B --src --pom.xml --xml 我现在做的是在命令提示符下从父pom执行mvn clean install,然后导航到每个模块的目标文件夹,并使用java-jar执行每个jar 我想先运行模块A,然后单次运行模块B。这可能吗?如何在maven中做到这一点。有两种方法可以帮助您实现目标: 剧本 编写一个
Parent p
--模块A
--src
--pom.xml
--模块B
--src
--pom.xml
--xml
我现在做的是在命令提示符下从父pom执行mvn clean install,然后导航到每个模块的目标文件夹,并使用java-jar执行每个jar
我想先运行模块A,然后单次运行模块B。这可能吗?如何在maven中做到这一点。有两种方法可以帮助您实现目标: 剧本 编写一个构建和启动每个模块的脚本。我以一个Windows批处理脚本为例 maven.bat
mvn clean package
start java -jar module-a/target/module-a-0.0.1.BUILD-SNAPSHOT.jar
start java -jar module-b/target/module-b-0.0.1.BUILD-SNAPSHOT.jar
使用Docker,更具体地说,使用单个命令启动所有模块:
docker-compose up
docker compose.yml
modulea:
image: foobar/modulea
ports:
- "8080:8080"
links:
- moduleb
environment:
- SPRING_PROFILES_ACTIVE=local
moduleb:
image: foobar/moduleb
ports:
- "8081:8080"
links:
- modulea
environment:
- SPRING_PROFILES_ACTIVE=local
有关如何使用Docker和Docker compose的更多详细信息,请访问文档的链接。从
父级p
,您可以使用单个内联命令实现所需的功能(我将其拆分为两行,仅用于阅读目的):
上面给出的命令允许在后台运行两个Spring Boot应用程序模块,每个模块都在其专用端口上运行
命令的输出,即Spring引导启动日志,将被发送到nohup.out
,放在Parent p
目录中
nohup mvn spring-boot:run -pl module-A -Dserver.port=8090 &
nohup mvn spring-boot:run -pl module-B -Dserver.port=8091 &