java - 如何在多模块maven项目中单独运行多个模块

标签 java spring maven spring-boot

我创建了一个多模块maven项目,每个模块都是spring boot应用程序。我想在父项目下运行每个模块。

例如:

父 P -- 模块A -- 源代码 --pom.xml -- 模块B --src --pom.xml --pom.xml

我现在正在做的是在命令提示符下从父pom执行mvn clean install,然后导航到每个模块的目标文件夹并使用java - jar执行每个jar

我想一次运行模块 A,然后运行模块 B。这可能吗?如何在maven中做到这一点。

最佳答案

有两种方法可以实现您想要做的事情:

脚本

编写一个构建并启动每个模块的脚本。我提供了一个 Windows 批处理脚本作为示例。

ma​​ven.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,更具体地说,docker-compose使用单个命令启动所有模块:

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 的更多详细信息。

关于java - 如何在多模块maven项目中单独运行多个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38833105/

相关文章:

java - 将Thaumcraft添加为依赖项-Minecraft 1.12.2 retrofit

spring - SimpleCORSFilter 是如何工作的?

java - Eclipse Maven 项目无法解析依赖项

java - Java 32 位对 Win(任何)64 位的影响?

java - 使用 `System.exit()` 停止具有嵌入式 Jetty 服务器的 Java 应用程序是否安全?

java - 打印出数组列表中的每个项目

java - 初学者java顺序递增设置变量并重置计数

java - CAS - Spring Security 3.1 书

java - Hibernate + MySQL 报告数据的最佳实践

java - 使用 Maven 构建时 slf4j 版本冲突