gpt4 book ai didi

java - 如何同时启动两个Spring Boot项目

转载 作者:行者123 更新时间:2023-11-30 01:56:57 25 4
gpt4 key购买 nike

我的项目包括一个 View 服务和一个接口(interface)服务。项目目录如下所示:

Myproject/
springboot1/
springboot2/

springboot1和springboot2都可以单独运行。我现在启动它们的方式是打开两个终端,执行以下命令:

springboot1

cd Myproject/springboot1/
mvn spring-boot:run

springboot2

cd Myproject/springboot2/
mvn spring-boot:run

有没有办法同时启动两个项目?例如,在Myproject目录下添加一个全局的pom.xml文件,直接在Myproject目录下执行mvn spring-boot:run。

最佳答案

是的,正如您提到的需要类似全局 pom xml 方式的东西,您可以通过将两个项目作为模块组合到您的打包应用程序(Myproject)中来实现。让我给你一些想法:

  • 使用全局 pom 文件创建一个新的 springBoot 应用程序,并将所有常见(1 和 2 项目)jar 或依赖项移至此全局 pom 文件。此外,由于每个应用程序作为主应用程序都将其删除,因为它不再需要作为单独的实体,但还要确保您各自的主文件中是否有任何自定义代码,而不是将该代码移动到打包项目的主文件中。

  • 将项目1和2打成jar包,并作为依赖添加到打包项目中。

  • 项目 springboot1 内部 pom 看起来像:

    ...
    <groupId>org.springboot1.module</groupId>
    <artifactId>springboot1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    ...
  • 项目 springboot2 内部 pom 看起来像:

    ...
    <groupId>org.springboot2.module</groupId>
    <artifactId>springboot2</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    ...
  • 打包项目 pom 将如下所示:

    ...
    <dependency>
    <groupId>org.springboot1.module</groupId>
    <artifactId>springboot1</artifactId>
    <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
    <groupId>org.springboot2.module</groupId>
    <artifactId>springboot2</artifactId>
    <version>1.0-SNAPSHOT</version>
    </dependency>
    ...
  • 在打包主文件中添加来自依赖项的 @Component 的新位置

    @SpringBootApplication
    @ComponentScan(basePackages =
    {"org.springboot1.module.one.*","org.springboot2.module.two.*"})
    public class Myproject {
    public static void main( String[] args )
    {
    SpringApplication.run(Myproject.class, args);
    }

    }

  • 运行打包应用程序的主类,它将从两个依赖项目开始。

希望上述步骤能够根据您的项目结构进行更多更改。另外,为了更清楚,您还可以引用 Maven Project_Aggregation

关于java - 如何同时启动两个Spring Boot项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54102849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com