一、需求:有一个 eureka 工程,有2个配置文件。需要根据不同的配置文件启动 2 次,并保证 2 个实例同时运行。

工程结构:

我已经有 2 个不同的配置文件:application-jy-01.properties、application-jy-02.properties

2 个配置文件中分别指定此工程 eureka 的端口为:1234、1235 。

idea springboot一个工程启动两次 idea启动两个项目_运行

二、实现。(方式二似乎比方式一 更加简单。)

方式一:在 idea 中新建 2 条启动规则, 启动时读取不同配置文件 。

此方法可以直接删除上图中的基本配置文件:application.properties 。

1.  点击红框中倒三角,再点击紫框中配置

idea springboot一个工程启动两次 idea启动两个项目_启动_02

2. 进入配置界面,选择左上角 + 号,

并依次填入启动配置的名字:eureka-jy-01 (随意取)

选择工程的启动类:com.es.eureka.EurekaApplication、

输入启动参数: --spring.profiles.active= jy-01  ( --spring.profiles.active=是固定格式,jy-01 是用以指定调用的配置文件)、

JRE 选择自已使用的 JDK 就好,最后点击 OK 。

idea springboot一个工程启动两次 idea启动两个项目_运行_03

3. 同样方法,新增另外一个启动规则:eureka-jy-02

( 上面说漏 了一点:Use classpath of module 是选择要启动的工程:eureka 。)

idea springboot一个工程启动两次 idea启动两个项目_Idea _04

4. 此时已经成功新增了这 2 条启动规则:

idea springboot一个工程启动两次 idea启动两个项目_多实例_05

5. 选择不同的规则,可以直接启动 eureka 工程,全同一工程在不同端口 同时运行。

idea springboot一个工程启动两次 idea启动两个项目_Idea _06

idea springboot一个工程启动两次 idea启动两个项目_启动_07

 这样,eureka 工程已在不同端口同时运行,2 个工程都可以访问到界面:

idea springboot一个工程启动两次 idea启动两个项目_多实例_08

idea springboot一个工程启动两次 idea启动两个项目_Idea _09

方法二:在基本配置文件中设置读取不同配置文件。

1. 工程结构图中其实已经可以看到我还有一个基本配置文件:application.properties 。

在此基本配置文件中,只需要有一行配置:spring.profiles.active=要调用的配置文件的名字。

这样就可指定使用某个配置文件了。

2. 欲使用配置文件 application-jy-02.properties 时就配置成:spring.profiles.active=jy-02 

如下图:

idea springboot一个工程启动两次 idea启动两个项目_Idea _10

3. 当要换作使用配置文件: application-jy-01.properties 时,也只需要修改这一行中的配置文件名为 jy-01 就行了。

如图:

idea springboot一个工程启动两次 idea启动两个项目_运行_11

4. 启动规则中则无需再设置启动参数:只要有蓝框中信息就行了。

idea springboot一个工程启动两次 idea启动两个项目_Idea _12

5. 第1次启动工程后,修改基本配置文件中那一行,再第2次启动工程,同样可实现多实例同时运行在不同端口。