探索 IntelliJ IDEA 中 Spring Boot 运行配置

前言
IntelliJ IDEA 作为一款功能强大的集成开发环境(IDE),为 Spring Boot 应用提供了丰富的运行配置选项,定义了如何在 IntelliJ IDEA 中运行 Spring Boot 应用程序,当从主类文件运行应用程序时,IDE 将创建一个 Spring Boot 运行配置,帮助开发者便捷地启动、调试和监控应用。在本文中,将逐一解析这些选项及其在 Spring Boot 开发中的作用。
创建 Spring Boot 运行配置
- 在主菜单中,转到 “Run | Edit Configurations”。
- 在 “Run/Debug Configurations” 对话框中,单击“+”并选择 Spring Boot。

| 配置参数 | 说明 |
|---|---|
| Name | 为运行配置指定名称,以便在编辑或运行时快速识别它。 |
| Run on | 选择要在其中运行配置的目标环境。 除在本地运行应用程序外,还可以选择通过 SSH 在远程服务器或 Docker 容器中运行应用程序。 |
| Store as project file | 将运行配置保存到可与其他团队成员共享的文件中,默认位置为 .idea/runConfigurations。 但是,如果不想共享 .idea 目录,则可以将配置保存到项目中的任何其他目录。 默认情况下处于禁用状态,IntelliJ IDEA 将运行配置设置存储在 .idea/workspace.xml 中。 |
配置运行选项
单击 Modify options 以选择用于运行配置的其他选项,如下图所示。

Spring Boot
以下选项特定于正在运行的 Spring Boot 应用程序:
| 项目 | 描述 |
|---|---|
| Active profiles | 指定应用启动时要激活的 Spring 配置文件,通常以 .yml 或 .properties 结尾。这些配置文件可以按需覆盖主配置文件中的属性,实现环境特定的配置。 |
| Enable debug output | 启用 debug 输出的日志记录。-Ddebug |
| Hide banner | 关闭 Spring Boot 启动时显示的 ASCII 图形欢迎界面,使控制台输出更加简洁。 |
| Disable launch optimization | 禁用 Java 虚拟机(JVM)的启动优化,便于更快地启动应用进行调试。 可以对开发环境保持启用状态,但对生产环境将其禁用。 默认情况下,通过在 JVM 选项来启用: XX:TieredStopAtLevel=1 -noverify |
| Disable JMX endpoints | 取消启用 Java 管理扩展(JMX)代理,避免远程监控和管理功能。 在不需要 JMX 监控的情况下,禁用它可减少资源消耗和潜在的安全风险。 |
| On ‘Update’ action | 指定在修改代码并希望更新正在运行的应用程序时要执行的操作:Do nothing: 不执行任何操作,适用于不需要自动重新部署的应用场景。Update resources:更新所有已修改的资源文件。Update classes and resources:更新修改的资源文件并重新编译更改的 Java 类Update trigger file:更新触发器文件Hot swap classes and update trigger file if failed:热插拔类和失败时更新触发器 |
| On frame deactivation | 指定从 IntelliJ IDEA 切换到其他应用程序(例如,Web 浏览器)时要执行的操作:Do nothing:不执行任何操作,避免因误操作导致应用停止。 Update resources:更新所有已修改的资源文件。Update classes and resources:更新类和资源。 |
| Override configuration properties | 通过将任何配置属性作为 JVM 选项传递来覆盖该属性。 |
Operating System
以下选项与操作系统相关:
| 项目 | 描述 |
|---|---|
| Allow multiple instances | 允许同时运行同一应用的多个实例,每个实例使用独立的运行配置。 默认情况下,此选项处于禁用状态,这意味着当运行配置时,配置的其他活动会话将终止。 |
| Working directory | 指定应用的运行工作目录,影响相对路径的解析以及日志、临时文件等的存放位置。 默认情况下,IntelliJ IDEA 使用项目根目录作为工作目录。 |
| Environment variables | 指定运行此配置时所需的环境变量的名称和值,影响应用的行为和依赖组件的配置。 |
Java
以下选项特定于 Spring 应用程序的 Java 编译器和运行时:
| 项目 | 描述 |
|---|---|
| Do not build before run | 立即运行应用程序,而无需启动构建过程。 适用于已确保代码编译无误,或希望手动控制构建的情况。 |
| Use classpath of module | 指定使用哪个模块的类路径来运行应用,适用于多模块项目。 |
| Modify classpath | 指定另一个 Classpath 或选择要从 Classpath 中排除的依赖项。 当运行时与编译 Classpath 不同时,此选项是必需的。 |
| VM options | 添加 JVM 参数,如内存分配、系统属性等,以调整 JVM 行为。 |
| Program arguments | 为应用主类传递命令行参数,供应用代码在运行时读取和使用 |
| Add dependencies with “provided” scope to classpath | 将依赖管理中 provided 作用域的依赖项添加到运行时类路径,确保依赖的 Servlet 容器等外部环境提供的库在 IDE 中也能正常工作。 默认情况下,此选项在 Spring Boot 运行配置中处于启用状态。 |
| Shorten command line | 如果 Classpath 太长,或者VM 参数超出了 OS 命令行长度限制, 则该方法将用于缩短命令行。 |
Logs
以下选项与记录此配置的执行有关。
| 项目 | 描述 |
|---|---|
| Specify logs to be shown in console | 指定哪些日志文件的内容应在控制台显示,方便实时监控应用日志。 |
| Save console output to file | 将控制台输出保存到指定文件,便于后期分析和排查问题。 可以手动输入路径,或单击浏览按钮,并在打开的对话框中指向所需的位置。 |
| Show console when a message is printed to stdout | 当标准输出有内容打印时,自动打开控制台窗口。 |
| Show console when a message is printed to stderr | 当标准错误输出有内容打印时,自动打开控制台窗口。 |
Code Coverage
以下选项与代码覆盖率相关。
| 项目 | 描述 |
|---|---|
| Specify classes and packages | 指定应用启动时只扫描和加载特定的类和包,加速启动过程,适用于大型项目或测试特定模块。 |
| Exclude classes and packages | 排除应用启动时不应扫描和加载的类和包,避免不必要的处理和潜在冲突。 |
Before Launch
在此区域中,可以指定在启动选定的 “run/debug” 配置之前要执行的任务,任务将按照它们在列表中的显示顺序执行。
| 项目 | 描述 |
|---|---|
| Add before launch task | 配置应用启动前需要执行的任务,如编译、Maven构建、数据库迁移等。 |
| Open run/debug tool window when started | 启动应用后自动打开 run/debug 窗口,便于观察应用状态和控制运行 |
| Focus run/debug tool window when started | 运行测试时,将焦点放在 Run configuration tool 窗口上。 |
| Show the run/debug configuration settings before start | 在应用启动前显示当前运行配置的详细设置,确认无误后再启动。 |
配置启动前可以执行的任务有如下几种:
| 配置属性 | 说明 |
|---|---|
| Launch Web Browser | 选择此选项可启动浏览器。在打开的对话框中,选择浏览器的类型并提供起始 URL。 此外,请指定是否希望使用 JavaScript 调试器启动浏览器。 |
| Run External tool | 运行外部应用程序。在打开的对话框中,选择要运行的一个或多个应用程序。 如果尚未在 IntelliJ IDEA 中定义,请添加其定义。 |
| Run Another Configuration | 选择以执行另一个运行/调试配置,并等待它完成,然后再启动当前配置。 |
| Run Remote External Tool | 添加远程 SSH 外部工具。 |
| Run Gradle task | 运行 Gradle 任务。在打开的对话框中,指定任务并根据需要提供其他配置。 |
| Build | 选择编译指定的模块,将执行 Build Module 操作。 如果在编译过程中发生错误,IntelliJ IDEA 不会尝试启动 run/debug 配置。 |
| Build Project | 选择编译整个项目,将执行 Build Project 操作。 如果在编译过程中发生错误,IntelliJ IDEA 不会尝试启动 run/debug 配置。 |
| Build, no error check | 与 Build 选项相同,但 IntelliJ IDEA 将尝试启动 run/debug 配置,而不管编译结果如何。 |
| Build Artifacts | 选择此选项可构建一个或多个工件。在打开的对话框中,选择应构建的一个或多个工件。 |
| Run Maven Goal | 选择此选项可运行 Maven 目标。在打开的对话框中,选择要运行的目标。 |
| Run Grunt task | 选择此选项以运行 Grunt 任务。了解既可,笔者基本没用到过。 |
| Run gulp task | 选择此选项以运行 Gulp 任务。了解既可,笔者基本没用到过。 |
| Run npm script | 选择此选项可执行 npm 脚本。 |
| Compile TypeScript | 运行内置的 TypeScript 编译器,从而确保所做的所有更改都反映在生成的 JavaScript 文件中。 |
| Disconnect Data Source | 如果要在 run/debug 配置之前中断与数据源的连接,请选择此选项。 |
总结
通过上述说明,我们成功地在了解了 IntelliJ IDEA 中 Spring Boot 运行配置。IntelliJ IDEA 提供的 Spring Boot 运行配置选项赋予了开发者精细控制应用运行环境、日志输出、依赖管理、类加载策略、预启动任务等方方面面的能力,极大地提升了开发效率和灵活性。了解并合理运用这些选项,能使 Spring Boot 开发体验更加顺畅。

相关文章:
探索 IntelliJ IDEA 中 Spring Boot 运行配置
前言 IntelliJ IDEA 作为一款功能强大的集成开发环境(IDE),为 Spring Boot 应用提供了丰富的运行配置选项,定义了如何在 IntelliJ IDEA 中运行 Spring Boot 应用程序,当从主类文件运行应用程序时,IDE 将创建…...
三除数枚举
给你一个整数 n 。如果 n 恰好有三个正除数 ,返回 true ;否则,返回 false 。 如果存在整数 k ,满足 n k * m ,那么整数 m 就是 n 的一个 除数 。 输入:n 4 输出:true 解释:4 有三…...
【051】基于51单片机温度计【Proteus仿真+Keil程序+报告+原理图】
☆、设计硬件组成:51单片机最小系统DS18B20温度传感器LCD1602液晶显示按键设置蜂鸣器LED灯。 1、本设计采用STC89C51/52、AT89C51/52、AT89S51/52作为主控芯片; 2、采用DS18B20温度传感器测量温度,并且通过LCD1602实时显示温度;…...
[Java]微服务之服务保护
雪崩问题 微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩 雪崩问题产生的原因是什么? 微服务相互调用,服务提供者出现故障或阻塞。服务调用者没有做好异常处理,导致自身故障。调用链中的所有服…...
自动驾驶目标检测融合全貌
1、early fusion 早期融合,特点用到几何空间转换3d到2d或者2d到3d的转换,用像素找点云或者用点云找像素。 2、deep fusion 深度融合,也是特征级别融合,也叫多模态融合,如bevfusion范式 3、late fusion 晚融合&#x…...
消息框(Message Box)的测试方法和测试用例
我来帮你了解消息框(Message Box)的测试方法和测试用例的编写。 我已经创建了一个测试用例示例,让我为你解释消息框测试的主要方面: 测试维度: 功能性测试:验证消息框的基本功能是否正常样式测试:确认不同类型消息框…...
Ubuntu 包管理
APT&dpkg 查看已安装包 查看所有已经安装的包 dpkg -l 查找包 apt search <package_name>搜索软件包列表,找到与搜索关键字匹配的包 dpkg与grep结合查找特定的包 dpkg -s <package>:查看某个安装包的详细信息 安装包 apt安装命令 更新…...
[Ubuntu] linux之Ubuntu18.04的下载及在虚拟机中详细安装过程(附有下载链接)
前言 ubuntu 链接:https://pan.quark.cn/s/283509d0d36e 提取码:dfT1 链接失效(可能被官方和谐)可评论或私信我重发 下载压缩包后解压 !!安装路径不要有中文 下载后解压得到.iso文件,不要放在…...
ffmpeg安装(windows)
ffmpeg安装-windows 前言ffmpeg安装路径安装说明 前言 ffmpeg的安装也是开箱即用的,并没有小码哥说的那么难 ffmpeg安装路径 这就下载好了! 安装说明 将上面的bin目录加入到环境变量,然后在cmd中测试一下: C:\Users\12114\Desktop\test\TaskmgrPlayer\x64\Debug>ffmpe…...
服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例
服务器存储数据恢复环境: 存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统EXT3文件系统,该存储划分3个LUN。 服务器存储故障&分析: 存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分…...
linux内核编译启动总结
linux kernel 编译 升级汇总 写在前面内核编译获取kernel代码开始前的准备工作 编译过程1\.解压与净化将下载好的linux内核解压至/usr/src 2\. 得到源代码后,将其净化3\. 配置要进行编译的内核4.编译内核. (15分钟)5.编译模块.方法1:方法2: 6…...
Android Studio的AI工具插件使用介绍
Android Studio的AI工具插件使用介绍 一、前言 Android Studio 的 AI 工具插件具有诸多重要作用,以下是一些常见的方面: 代码生成与自动补全 代码优化与重构 代码解读 学习与知识获取 智能搜索与资源推荐实际使用中可以添加注释,解读某段代…...
本地部署 WireGuard 无需公网 IP 实现异地组网
WireGuard 是一个高性能、极简且易于配置的开源虚拟组网协议。使用路由侠内网穿透使其相互通讯。 第一步,服务端(假设为公司电脑)和客户端(假设为公司外的电脑)安装部署 WireGuard 1,点此下载(…...
asyncio.ensure_future 与 asyncio.create_task:Python异步编程中的选择
asyncio.ensure_future 与 asyncio.create_task:Python异步编程中的选择 引言asyncio.ensure_futureasyncio.create_task两者的区别参数接受范围任务调度的保证代码可读性 哪个更好?使用asyncio.create_task使用asyncio.ensure_future 结论参考 引言 在…...
CTF之密码学(密码特征分析)
一.MD5,sha1,HMAC,NTLM 1.MD5:MD5一般由32/16位的数字(0-9)和字母(a-f)组成的字符串 2.sha1:这种加密的密文特征跟MD5差不多,只不过位数是40(sha256:64位;sha512:128位) 3.HMAC:这…...
JVM调优篇之JVM基础入门AND字节码文件解读
目录 Java程序编译class文件内容常量池附录-访问标识表附录-常量池类型列表 Java程序编译 Java文件通过编译成class文件后,通过JVM虚拟机解释字节码文件转为操作系统执行的二进制码运行。 规范 Java虚拟机有自己的一套规范,遵循这套规范,任…...
EXCEL截取某一列从第一个字符开始到特定字符结束的字符串到新的一列
使用EXCEL中的公式进行特定截取 假设列A是一组产品的编码,我们需要的数据是“-”之前的字段。 我们需要在B1单元格输入公式“LEFT(A1,SEARCH("-",A1)-1)”然后选中B1至B4单元格,按“CTRLD”向下填充,就可以得出其它几行“-”之前的…...
数据库期末复习题库
1. Mysql日志功能有哪些? 记录日常操作和错误信息,以便了解Mysql数据库的运行情况,日常操作,错误信息和进行相关的优化。 2. 数据库有哪些备份方法 完全备份:全部都备份一遍表备份:只提取数据库中的数据࿰…...
私有库gitea安装
一 gitea是什么 Gitea是一款自助Git服务,简单来说,就是可以一个私有的github。 搭建很容易。 Gitea依赖于Git。 类似Gitea的还有GitHub、Gitee、GitLab等。 以下是安装步骤。 二 安装sqilite 参考: 在windows上安装sqlite 三 安装git…...
关于最近win11不能使用ie,而不能使用考试客户端的解决方法
弄ie的那个我感觉是非常难的,所以我的是另一种的方法 下载360浏览器(不是360全家桶)360安全浏览器-全面保护上网安全,4亿用户共同选择(上面的是官网,不要下载错了,还有安装界面注意不要勾选一下…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...
