探索 IntelliJ IDEA 中 Spring Boot 运行配置

news2025/3/19 17:42:17

image

前言

  IntelliJ IDEA 作为一款功能强大的集成开发环境(IDE),为 Spring Boot 应用提供了丰富的运行配置选项,定义了如何在 IntelliJ IDEA 中运行 Spring Boot 应用程序,当从主类文件运行应用程序时,IDE 将创建一个 Spring Boot 运行配置,帮助开发者便捷地启动、调试和监控应用。在本文中,将逐一解析这些选项及其在 Spring Boot 开发中的作用。

创建 Spring Boot 运行配置

  1. 在主菜单中,转到 “Run | Edit Configurations”。
  2. 在 “Run/Debug Configurations” 对话框中,单击“+”并选择 Spring Boot。

image

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

配置运行选项

  单击 Modify options 以选择用于运行配置的其他选项,如下图所示。

image

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 开发体验更加顺畅。

image

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

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

相关文章

Qt支持RKMPP硬解的视频监控系统/性能卓越界面精美/实时性好延迟低/录像存储和回放/云台控制

一、前言 之前做的监控系统,已经实现了在windows上硬解码比如dxva2和d3d11va,后续又增加了linux上的硬解vdpau的支持,这几种方式都是跨系统的硬解实现方案,也是就是如果都是windows系统,无论X86还是ARM都通用&#xf…

全面解读权限控制与RBAC模型在若依中的实现

目录 前言1 权限控制基础概念1.1 权限控制的核心要素1.2 常见权限控制模型 2 RBAC模型详解2.1 RBAC的基本原理2.2 RBAC的优点2.3 RBAC的扩展模型 3 若依框架中的权限管理3.1 菜单管理3.2 角色管理3.3 用户管理 4 若依权限管理的实现流程4.1 创建菜单4.2 创建角色并分配权限4.3 …

qt QGraphicsEllipseItem详解

1、概述 QGraphicsEllipseItem是Qt框架中QGraphicsItem的一个子类,它提供了一个可以添加到QGraphicsScene中的椭圆项。QGraphicsEllipseItem表示一个带有填充和轮廓的椭圆,也可以用于表示椭圆段(通过startAngle()和spanAngle()方法&#xff…

SAP SD学习笔记15 - 返品处理流程2 - 参照请求传票(发票)来生成返品传票

上一章讲了返品处理(退货处理)的流程。 SAP SD学习笔记14 - 返品处理(退货处理)的流程以及系统实操,比如 返品传票;请求Block标记;收到退货之后的处理,请求传票的登录_sap 销售返品…

在 ASP.NET C# Web API 中实现 Serilog 以增强请求和响应的日志记录

介绍 日志记录是任何 Web 应用程序的关键方面。它有助于调试、性能监控和了解用户交互。在 ASP.NET C# 中,集成 Serilog 作为记录请求和响应(包括传入和传出的数据)的中间件可以显著提高 Web API 的可观察性和故障排除能力。 在过去的几周里&…

Y20030018基于Java+Springboot+mysql+jsp+layui的家政服务系统的设计与实现 源代码 文档

家政服务系统的设计与实现 1.摘要2.开发目的和意义3.系统功能设计4.系统界面截图5.源码获取 1.摘要 随着人们生活水平的提高,老龄化、少子化等多重因素影响,我国对家政服务人群的需求与日俱增。家政服务行业对我国的就业和社会效益贡献也与日俱增&#…

基于AutoEncode自编码器的端到端无线通信系统matlab误码率仿真

目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要 自编码器是…

深度学习与持续学习:人工智能的未来与研究方向

文章目录 1. 持续学习与深度学习1.1 深度学习的局限1.2 持续学习的定义 2. 目标与心智2.1 奖励假说2.2 心智的构成 3. 对研究方法的建议3.1 日常写作记录3.2 中立对待流行趋势 1. 持续学习与深度学习 1.1 深度学习的局限 深度学习注重“瞬时学习”,如ChatGPT虽在语…

使用C#开发VTK笔记(三)-使用VTK创建可视化界面和简单点线面体模型

一.使用VTK创建可视化界面 1.创建C#可视化界面 使用Visual Studio 2022用.net 8.0创建窗体应用 放入两个水平分割的Panel左侧演示VTK 右侧放按钮 按照第一章节环境搭建的步骤,加入对应Kitware的dll并导入依赖 2.初始化Vtk窗口 引用Kitware.VTK,Form1_Load中,创建渲染窗口控…

ctrl键和大写键互换解决方法

电脑卡住之后突然发现Ctrl键和大小写键(CapsLock)互换了,后面试了几种方法都没解决这个问题,最后在万能的贴吧中找到解决方法——键位复位。 108和87键位复位操作: 1.先按住FN不放, 然后,再按住…

PVE相关名词通俗表述方式———多处细节实验(方便理解)

PVE设置初期,对CIDR、 网关、 LinuxBridge、VLAN等很有困惑的朋友一定很需要一篇能够全面通俗易懂的方式去理解PVE 中Linux网桥的工作方式,就像操作一个英雄,多个技能,还是需要一点点去学习理解的,如果你上来就对着别人…

UG NX二次开发(C++)-Ufun函数-UF_MODL_ask_face_props说明

文章目录 1、前言2、UF_MODL_ask_face_props的函数说明3、UF_MODL_ask_face_props的应用3.1 获取归一化曲面上的点3.2 获取非归一化曲面上的点1、前言 UF_MODL_ask_face_props是获取曲面上的微分几何的函数,其能根据曲面上的参数,获取点、矢量等,也是经常用到的一个函数,但…

软件测试技术面试题及参考答案整理

一、什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。 兼容的类型,如果细分的话,有平台的兼容,网络兼…

【面试题】2025年百度校招Java后端面试题

文章目录 前言一、网络IO1、服务器处理并发请求有哪几种方式?2、说一下select,poll,epoll的区别?3、Java 有一种现代的处理方式,属于异步I/O,是什么?redis,nginx,netty 是…

HDU Go Running(最小点覆盖 + 网络流优化)

题目大意:有一条无限长跑道,每个人可以规定自己跑步的方向,起点,跑步起止时间。每个人跑步的速度都是1m/s。最后从监控人员哪里得到了n个报告,每个报告给出了某人在某一时候所在的位置,问跑步的最少可能人数…

.NET9 - Swagger平替Scalar详解(四)

书接上回,上一章介绍了Swagger代替品Scalar,在使用中遇到不少问题,今天单独分享一下之前Swagger中常用的功能如何在Scalar中使用。 下面我们将围绕文档版本说明、接口分类、接口描述、参数描述、枚举类型、文件上传、JWT认证等方面详细讲解。…

【JAVA] 杂谈: java中的拷贝(克隆方法)

这篇文章我们来介绍什么是拷贝,并且实现浅拷贝到深拷贝。 目录 一、浅拷贝 1.1 clone 方法 1.2 实现浅拷贝: 1.2.1 重写 clone方法 1.2.2 实现接口 Cloneable 1.2.3 调用克隆方法 1.2.4 原理图:​ 1.3 浅拷贝的不足 1.3.1 增加引用…

记录QT5迁移到QT6.8上的一些问题

经常看到有的同学说网上的教程都是假的,巴拉巴拉,看看人家发布时间,Qt官方的API都会有所变动,多搜索,多总结,再修改记录。 下次遇到问题多这样搜索 QT 4/5/6 xxx document,对比一下就知道…

【数据结构与算法】排序算法总结:冒泡 / 快排 / 直接插入 / 希尔 / 简单选择 / 堆排序 / 归并排序

1 排序 1.1 冒泡 内排序的交换排序类别 1.1.1 普通实现 public class BubbleSort {/*** 基本的 冒泡排序*/public static void bubbleSort(int[] srcArray) {int i,j; // 用于存放数组下标int temp 0; // 用于交换数值时临时存放值for(i0;i<srcArray.length-1;i){// j …

分布式储能监控系统为储能电站高效运维与精细化管理赋能

1、引言 随着全球对可持续发展和环境保护意识的增强&#xff0c;能源结构正在经历深刻的转型。传统化石能源因其不可再生性和环境污染问题而逐渐受到限制&#xff0c;而可再生能源如太阳能、风能等因其清洁、可持续的特性而受到广泛关注和推广。这一转型推动了储能技术的快速发…