在IDEA启动多个Spring Boot工程实例的两种方法及可能遇到的问题解决

最近在模拟端到端对等方通信,使用springboot需要在两个节点运行相同代码,因此需要启动多个springboot实例。

方法一:拷贝Main方法

正常运行通过 Application 文件的 Main 函数启动,入口为:

public static void main(String[] args)

将该文件拷贝一份后,修改名称为 ApplicationDup (举个例子,与原来不相同即可)。

在运行了原先文件后,修改 application.properties 文件的 server.port 的端口,运行新的这份文件即可。

方法二:开启多实例模式后重复运行

在IDEA上点击Application右边的下三角 ,弹出选项后,点击 Edit Configuration 。

在弹出窗口右上角勾选上 allow parallel run(旧版本将默认的Single instance only的钩去掉),点击 Apply 应用。

完成后点击运行,启动一个实例出来。

然后修改 application.properties 文件的 server.port 的端口,再次启动。(多个实例,需要多个端口,分别启动,否则会造成端口冲突无法启动第二个实例。例如第一次启动时端口为8761, 修改yml文件server.port的端口为8762再次启动 就会产生 两个不同端口的实例。)

问题:每次运行都修改端口号,但是依然无法运行第二个实例,提示端口被占用

问题原因:

Springboot开启了热部署,修改 application.properties 文件的 server.port 的端口后,启动第二个实例会触发第一个实例的热部署,使得第一个实例重新启动,占用新的端口号。所以无论将端口号改成什么,都无法启动出第二个实例。

解决方法:

打开 pom.xml 文件去掉对 spring-boot-devtools 的依赖,然后重新 Load Maven ,不要热部署。

重新按照之前的两个方法操作都可以成功!

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 可以通过以下两种方式启动多个Spring Boot应用程序: 1. 使用不同的端口号启动多个Spring Boot应用程序。可以在application.properties或application.yml文件中配置不同的端口号,例如: server.port=808 server.port=8081 server.port=8082 然后分别启动不同的应用程序即可。 2. 使用Spring Boot的多模块功能,将多个应用程序打包成一个大的应用程序。可以在一个父模块下创建多个子模块,每个子模块都是一个独立的Spring Boot应用程序。然后在父模块的pom.xml文件中配置多个子模块,使用maven命令打包即可。打包后,可以在不同的端口号上启动不同的子模块。 ### 回答2: 在实践中,启动多个Spring Boot应用程序并不是什么难题。但是,想要在同一时刻启动多个应用程序,通常需要使用一些工具或脚本,而不是手动分别运行各个应用程序。以下是几种可行的方法: 1. 手动启动多个应用程序 这是最简单的方法,但需要手动启动每个应用程序。在不同的终端或命令行窗口中输入不同的命令来启动各个应用程序。例如: ``` $ cd /path/to/app1 $ mvn spring-boot:run $ cd /path/to/app2 $ mvn spring-boot:run $ cd /path/to/app3 $ mvn spring-boot:run ``` 2. 使用脚本启动多个应用程序 编写简单的脚本使得可以一次性启动所有应用程序。例如,可以创建一个名为start-all.sh的脚本,并添加启动每个应用程序的命令。 ``` #!/bin/bash cd /path/to/app1 mvn spring-boot:run & cd /path/to/app2 mvn spring-boot:run & cd /path/to/app3 mvn spring-boot:run & ``` 将此脚本保存为文件后,通过以下命令运行: ``` $ chmod +x start-all.sh $ ./start-all.sh ``` 3. 使用Idea启动多个应用程序 使用Idea的多模块项目功能可以方便地启动多个应用程序。为了在Idea启动多个Spring Boot应用程序,需要首先将这些应用程序设置为Idea的多模块项目。然后,可以通过在项目中创建多个运行配置(Run Configurations)来启动每个应用程序。 首先,需要在Idea中打开所有应用程序所在的项目。然后,右键单击项目根目录并选择“新建”→“模块”,或使用快捷键“Alt + Insert”来创建新模块。为每个应用程序创建一个模块。为新模块指定模块名,位置和其他配置参数。可以重复此步骤为每个应用程序创建一个模块。 创建完所有模块后,右键单击每个模块并选择“运行”→“添加新运行配置”,或使用快捷键“Alt + Insert”来创建新的运行配置。为每个应用程序创建一个运行配置。在“运行配置”对话框中设置需要启动的应用程序的参数,例如:类,启动参数以及JVM选项等。可以重复此步骤为每个应用程序创建一个运行配置。 一旦创建了所有运行配置和模块,就可以将它们组合起来并启动所有应用程序了。在Idea的“运行”菜单中,选择“运行多个配置”选项,或使用快捷键“Ctrl + Shift + F10”。选择要同时启动的运行配置,并单击“运行”按钮即可。 以上是启动多个Spring Boot应用程序的几种方法。每种方法都有其优缺点,可以根据自己的实际需求和偏好选用。 ### 回答3: Spring Boot 是一个非常流行的 Java Web 开发框架,它的特点是简单便捷,提供了大多数开发者需要使用的基础功能和工具组件。在实际项目中,很多时候,需要同时启动多个 Spring Boot 应用来实现不同的功能,或者提供不同的服务。下面我们来看看,如何通过 IDEA 同时启动多个 Spring Boot 应用。 一、通过 Maven 配置多个 Spring Boot 项目 首先,我们需要使用 Maven 来管理我们的 Spring Boot 项目。在 Maven 的 pom.xml 文件中,我们可以配置多个 Spring Boot 应用,可以使用如下的代码进行配置: ```xml <modules> <module>Application1</module> <module>Application2</module> <module>Application3</module> </modules> ``` 其中,Application1、Application2、Application3 分别是 Spring Boot 应用的名称,在实际开发中需要根据具体需求进行修改。这样,我们就配置了三个 Spring Boot 应用,分别为 Application1、Application2、Application3。 二、在 IDEA 中配置多个 Spring Boot 项目 1. 打开 IDEA,选择 File -> New -> Project from Existing Sources。 2. 在弹出的对话框中,选择我们之前创建的 Maven 项目所在的文件夹,然后点击 OK。 3. 等待 Maven 项目加载完成后,在 IDE 的左侧导航栏中可以看到我们所创建的三个 Spring Boot 应用,分别为 Application1、Application2、Application3。 4. 右键单击 Application1,选择 Run Application1;右键单击 Application2,选择 Run Application2;右键单击 Application3,选择 Run Application3。 5. 这样,就可以同时启动多个 Spring Boot 应用了。在启动完成后,分别访问 http://localhost:8081、http://localhost:8082 和 http://localhost:8083,分别可以看到不同的 Spring Boot 应用页面。 通过上述步骤,我们就可以在 IDEA启动多个 Spring Boot 应用。当然,实际开发中可能需要根据不同的需求,对项目进行不同的配置和修改。需要注意的是,同时启动多个应用可能会占用较多的系统资源,因此在实际开发中需要根据具体情况进行配置和优化。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值