探索 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亿用户共同选择(上面的是官网,不要下载错了,还有安装界面注意不要勾选一下…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
