在IDEA中启动多个不同端口的Spring Boot应用

 更新时间:2025年10月24日 09:51:05   作者:剽悍一小兔  
本文主要介绍了在IDEA中启动多个不同端口的Spring Boot应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在 IntelliJ IDEA 中启动多个不同端口的 Spring Boot 应用,主要有以下几种方式,适用于不同场景:

方式一:通过配置文件指定端口(单次启动不同配置)

如果需要启动同一个项目的多个实例(端口不同),可以通过配置文件或命令行指定端口。

1. 配置文件方式(推荐)

application.propertiesapplication.yml 中设置默认端口,再通过多环境配置启动参数覆盖:

  • 默认配置文件application.properties):

    server.port=8080  # 默认端口
    
  • 启动时指定新端口
    点击 IDEA 启动按钮旁的下拉框,选择 Edit Configurations…
    在弹出的窗口中,找到你的 Spring Boot 启动配置,在 VM options 中添加:

    -Dserver.port=8081  # 新端口
    

    (如需启动第三个实例,再复制一个配置,修改端口为 8082 即可)

2. 命令行参数方式

如果通过 Maven/Gradle 启动,可在启动命令中指定端口:

  • Maven
    在 IDEA 的 Terminal 中执行:
    mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8081
    
  • Gradle
    gradle bootRun --args="--server.port=8081"
    

方式二:多环境配置文件(固定多端口)

如果需要频繁启动不同端口的实例,可以创建多个环境配置文件,每次启动时选择环境。

  1. 创建多环境配置文件:

    • application-dev.properties(开发环境1):
      server.port=8080
      
    • application-test.properties(开发环境2):
      server.port=8081
      
  2. 启动时指定环境:
    在启动配置的 VM options 中添加:

    -Dspring.profiles.active=test  # 启用 test 环境(端口8081)
    

    或在 Program arguments 中添加:

    --spring.profiles.active=test
    

方式三:复制启动配置(一键启动多个实例)

如果需要同时启动多个不同端口的实例,可复制启动配置并修改端口:

  1. 打开启动配置(Edit Configurations…)。
  2. 选中你的 Spring Boot 配置,右键选择 Copy
  3. 在复制的配置中,修改 Name(如 App-8081),并在 VM options 中设置新端口:
    -Dserver.port=8081
    
  4. 点击 Apply 保存,之后可在启动列表中选择不同配置启动。

注意事项

  • 如果项目依赖端口(如注册中心、数据库连接等),需确保其他配置(如 spring.datasource.url)也适配多实例,避免冲突。
  • 若使用 Spring Cloud,多实例启动可能需要配合服务注册中心(如 Eureka、Nacos)的集群配置。

通过以上方式,即可在 IDEA 中灵活启动不同端口的 Spring Boot 应用。

到此这篇关于在IDEA中启动多个不同端口的Spring Boot应用的文章就介绍到这了,更多相关IDEA启动多端口Spring Boot应用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java通过卖票理解多线程

    Java通过卖票理解多线程

    本文主要介绍了一个多线程卖票的例子,通过卖票这个实例来介绍多线程的方式,加深理解,需要的朋友可以参考下
    2017-09-09
  • Java运算符>、>>、>>>三者的区别

    Java运算符>、>>、>>>三者的区别

    这篇文章主要介绍了Java运算符>、>>、>>>三者的区别,做了一个简单的对比,并用实例说明,需要的朋友可以参考下
    2014-06-06
  • 解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题

    解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题

    今天小编就为大家分享一篇关于解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Tomcat和Spring中的事件机制深入讲解

    Tomcat和Spring中的事件机制深入讲解

    这篇文章主要给大家介绍了关于Tomcat和Spring中事件机制的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-12-12
  • Java复制一个对象并且不想复制其中的空值属性问题

    Java复制一个对象并且不想复制其中的空值属性问题

    这篇文章主要介绍了Java复制一个对象并且不想复制其中的空值属性问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 从java中调用matlab详细介绍

    从java中调用matlab详细介绍

    这篇文章主要介绍了从java中调用matlab,有需要的朋友可以参考一下
    2013-12-12
  • Spring的定时任务@Scheduled源码详解

    Spring的定时任务@Scheduled源码详解

    这篇文章主要介绍了Spring的定时任务@Scheduled源码详解,@Scheduled注解是包org.springframework.scheduling.annotation中的一个注解,主要是用来开启定时任务,本文提供了部分实现代码与思路,需要的朋友可以参考下
    2023-09-09
  • Springboot使用Logback实现日志配置与异常记录

    Springboot使用Logback实现日志配置与异常记录

    默认情况下,SpringBoot内部使用logback作为系统日志实现的框架,将日志输出到控制台,不会写到日志文件。本篇文章主要讲解下如何自定义logabck.xml以及对logback文件中配置做一个详解,需要的可以参考一下
    2022-11-11
  • Java Shutdown Hook场景使用及源码分析

    Java Shutdown Hook场景使用及源码分析

    shutdown hook 就是一个简单的已初始化但是未启动的线程,本文详细的介绍了Java Shutdown Hook场景使用及源码分析,感兴趣的朋友可以参考一下
    2021-06-06
  • AbstractQueuedSynchronizer(AQS)锁状态同步和排队管理

    AbstractQueuedSynchronizer(AQS)锁状态同步和排队管理

    这篇文章主要介绍了为大家AbstractQueuedSynchronizer(AQS)锁状态同步和排队管理源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论