探索 IntelliJ IDEA 中 Spring Boot 运行配置选项及其作用

IntelliJ IDEA 作为一款功能强大的集成开发环境(IDE),为 Spring Boot 应用提供了丰富的运行配置选项,帮助开发者便捷地启动、调试和监控应用。本篇博客将逐一解析这些选项及其在 Spring Boot 开发中的作用。

通用选项

Active profiles

作用:指定应用启动时要激活的 Spring 配置文件。这些配置文件(通常以 -profile.yml-profile.properties 结尾)可以按需覆盖主配置文件中的属性,实现环境特定的配置。

示例:添加 devlocal,则应用会同时激活 application-dev.ymlapplication-local.yml 中的设置。

Enable debug output (-Ddebug)

作用:启用 Spring Boot 的调试输出模式,增加日志级别至 DEBUG,以便查看更详细的框架内部信息和日志。

Hide banner (-Dspring.main.banner-mode=OFF)

作用:关闭 Spring Boot 启动时显示的 ASCII 图形欢迎界面,使控制台输出更加简洁。

Disable launch optimization (XX:TieredStopAtLevel=1 -noverify)

作用:禁用 Java 虚拟机(JVM)的启动优化,便于更快地启动应用进行调试。但请注意,生产环境中通常不建议禁用这些优化。

Disable JMX agent

作用:取消启用 Java 管理扩展(JMX)代理,避免远程监控和管理功能。在不需要 JMX 监控的情况下,禁用它可减少资源消耗和潜在的安全风险。

更新与停靠行为

On ‘Update’ action: Do nothing

作用:当选择“更新”运行配置时,IDE 不执行任何操作。适用于不需要自动重新部署的应用场景。

On frame deactivation: Do nothing

作用:当 IDE 窗口失去焦点时,不对运行中的应用采取任何动作。避免因误操作导致应用停止。

配置属性覆盖

Override configuration properties

作用:允许直接在运行配置中临时覆盖应用的 Spring Boot 属性。这对于快速验证特定配置更改或在不同环境中运行应用非常有用。

运行环境设置

Allow multiple instances

作用:允许同时运行同一应用的多个实例,每个实例使用独立的运行配置。

Working directory

作用:指定应用的运行工作目录,影响相对路径的解析以及日志、临时文件等的存放位置。

Environment variables

作用:设置应用运行时的环境变量,影响应用的行为和依赖组件的配置。

Do not build before run

作用:取消运行前自动构建项目,适用于已确保代码编译无误,或希望手动控制构建时机的情况。

Use classpath of module

作用:指定使用哪个模块的类路径来运行应用,适用于多模块项目。

Add VM options

作用:添加 JVM 参数,如内存分配(-Xms-Xmx)、垃圾收集器选择、系统属性等,以调整 JVM 行为。

Program arguments

作用:为应用主类传递命令行参数,供应用代码在运行时读取和使用。

Add dependencies with “provided” scope to classpath

作用:将依赖管理中 provided 作用域的依赖项添加到运行时类路径,确保依赖的 Servlet 容器等外部环境提供的库在 IDE 中也能正常工作。

Shorten command line

作用:启用命令行长度优化,通过使用响应文件避免因类路径过长导致的命令行限制问题。

Specify logs to be shown in console

作用:指定哪些日志文件的内容应在控制台显示,方便实时监控应用日志。

Save console output to file

作用:将控制台输出保存到指定文件,便于后期分析和排查问题。

Show console when a message is printed to stdout/stderr

作用:当标准输出(stdout)或标准错误输出(stderr)有内容打印时自动打开控制台窗口。

类与包过滤

Specify classes and packages

作用:指定应用启动时只扫描和加载特定的类和包,加速启动过程,适用于大型项目或测试特定模块。

Exclude classes and packages

作用:排除应用启动时不应扫描和加载的类和包,避免不必要的处理和潜在冲突。

Specify alternative coverage runner

作用:选择替代的代码覆盖率工具,如 JaCoCo、Cobertura 等,用于测试覆盖率分析。

Use tracing

作用:启用 JVM 跟踪功能,生成详细的 JVM 执行轨迹文件(.trc),用于性能分析。

Collect coverage in test folders

作用:在测试代码目录下收集代码覆盖率数据,而非源码目录,便于区分测试与生产代码的覆盖率。

预启动任务

Add before launch task

作用:配置应用启动前需要执行的任务,如编译、Maven/Gradle 构建、数据库迁移等。

运行视图与提示

Open run/debug tool window when started

作用:启动应用后自动打开运行/调试工具窗口,便于观察应用状态和控制运行。

Show the run/debug configuration settings before start

作用:在应用启动前显示当前运行配置的详细设置,确认无误后再启动。

总结,IntelliJ IDEA 提供的 Spring Boot 运行配置选项赋予了开发者精细控制应用运行环境、日志输出、依赖管理、类加载策略、预启动任务等方方面面的能力,极大地提升了开发效率和灵活性。了解并合理运用这些选项,能使 Spring Boot 开发体验更加顺畅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/3962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机+巡飞弹:“柳叶刀”巡飞弹技术详解

“柳叶刀”巡飞弹技术是一种结合了无人机和巡飞弹的先进武器系统,由俄罗斯ZalaAero公司研制,首次公开亮相是在2019年的俄罗斯军队装备展上。该系统以其高度的灵活性和精确打击能力,在现代战场上扮演着重要角色。 系统组成:柳叶刀巡…

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(四)分组多查询注意力

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(四)分组多查询注意力 Grouped-query Attention,简称GQA 分组查询注意力(Grouped-query Attention,简称GQA)是多查询和多头注意力的插值…

Blender基础操作

1.移动物体: 选中一个物体,按G,之后可以任意移动 若再按X,则只沿X轴移动,同理可按Y与Z 2.旋转物体: 选中一个物体,按R,之后可以任意旋转 若再按X,则只绕X轴旋转&…

Python自学之路--003:PyCharm新建工程之后安装的Python第三方库找不到问题

目录 1、概述 2、问题原因 3、解决办法 3.1、.py文件通过.bat不能调用 3.2、通过调用之前PyCharm工程的解释器找到库 3.3、重新安装一遍或将库Copy到新工程的.venv里面 1、概述 通过PyCharm新建一个工程的时候发现,之前安装的python库没了,如下图。…

【Linux】:文件查看 stat、cat、more、less、head、tail、uniq、wc

🎥 屿小夏 : 个人主页 🔥个人专栏 : Linux深造日志 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一、stat(查看文件详细属性信息)1.1 内容解析:1.2…

【linux高性能服务器编程】项目实战——仿QQ聊天程序源码剖析

hello !大家好呀! 欢迎大家来到我的Linux高性能服务器编程系列之项目实战——仿QQ聊天程序源码剖析,在这篇文章中,你将会学习到如何利用Linux网络编程技术来实现一个简单的聊天程序,并且我会给出源码进行剖析&#xff…

远程控制安卓手机:便捷、高效与安全的方法

在移动设备的领域里,远程控制安卓手机的能力也变得越来越重要。这种技术可以让我们在远程地点方便地操作手机,无论是处理紧急事务、帮助他人解决问题,还是仅仅为了享受科技带来的便利。本文将为你介绍2种便捷、高效且安全的方法,让…

【智能算法】向日葵优化算法(SFO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2019年,GF Gomes等人受到自然界向日葵运动行为启发,提出了向日葵优化算法(Sunflower Optimization, SFO)。 2.算法原理 2.1算法思想 SFO模拟向日葵行…

【服务器部署篇】Linux下Ansible安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…

vue3【详解】vue3 比 vue2 升级了哪些重要的功能?

改用 createApp 初始化实例 vue2 使用 new Vue() 初始化实例 vue3 使用 Vue.createApp() 初始化实例 新增 emits 选项 vue3 选项式API中新增了emits 选项,用于显示声明组件中的自定义事件,自定义事件的名称,需用 on 开头。 export default {…

如何在vue3+vite中优雅的使用iconify图标

前言 从Vue2迁移到Vue3,在使用上有着很大的差别。本文的话主要是针对图标的使用差别上进行分析,同时给出基于iconify图标库中unplugin-icons的用法。这里特殊说明一下:其实element-plus中用到的图标也是基于iconify图标库的,在我们…

LT9611UXC双端口 MIPI DSI/CSI 转 HDMI2.0,带音频

1. 说明 LT9611UXC 是一款高性能 MIPI DSI/CSI 至 HDMI2.0 转换器。MIPI DSI/CSI 输入具有可配置的单端口或双端口,具有 1 个高速时钟通道和 1~4 个高速数据通道,工作速率最高为 2Gbps/通道,可支持高达 16Gbps 的总带宽。 LT9611UXC 支持突发…

【MySQL】MySQL中的原子更新操作:如何模拟MongoDB的`find_one_and_update`

远方有琴 愀然空灵 声声催天雨 涓涓心事说给自己听 月影憧憧 烟火几重 烛花红 红尘旧梦 梦断都成空 雨打湿了眼眶 年年倚井盼归堂 最怕不觉泪已拆两行 我在人间彷徨 寻不到你的天堂 东瓶西镜放 恨不能遗忘 又是清明雨上 折菊寄到你身旁 把你最爱的歌来轻轻唱 …

13 c++版本的五子棋

前言 呵呵 这大概是 大学里面的 c 五子棋了吧 有一些 面向对象的理解, 但是不多 这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用 然后 貌似 放在 win10 上面执行 还有一些问题, 渲染的, 应该很好调整 五子棋 #include<Windows.h> #include<io…

【动态规划】Leetcode 70. 爬楼梯【简单】

爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1 阶 1 阶2 阶 解题思路 …

STM32、GD32驱动SHT30温湿度传感器源码分享

一、SHT30介绍 1、简介 SHT30是一种数字湿度和温度传感器&#xff0c;由Sensirion公司生产。它是基于物理蒸发原理的湿度传感器&#xff0c;具有高精度和长期稳定性。SHT30采用I2C数字接口&#xff0c;可以直接与微控制器或其他设备连接。该传感器具有低功耗和快速响应的特点…

树莓派4-通过IIC实现图片循环播放

一、环境 1、树莓派4&#xff1b; 2、串口连接电脑&#xff1b; 3、树莓派由杜邦线连接0.96寸OLED1306协议 4、树莓派能够联网&#xff0c;便于安装环境。离线情况也可以安装&#xff0c;相对麻烦&#xff1b; 二、目标 1、树莓派可以开启IIC并识别已连接的IIC&#xff1b; …

web前端第三次笔记

1事件类型 获取焦点事件 ipt.addEventListener("focus", () > {.log("") })失去焦点事件 ipt.addEventListener("blur", () > {console.log("") })文本输入事件 txt.addEventListener("input", () > {console.log…

Web3解密:理解去中心化应用的核心原理

引言 在当前数字化时代&#xff0c;去中心化技术和应用正在逐渐引起人们的关注和兴趣。Web3技术作为去中心化应用&#xff08;DApps&#xff09;的基础&#xff0c;为我们提供了一个全新的互联网体验。但是&#xff0c;对于许多人来说&#xff0c;这个复杂的概念仍然充满了神秘…

如何安装、利用、激活、禁用pytest插件

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 在本文中&#xff0c;我们介绍如何安装和使用pytest第三方插件&#xff0c;对于如何…