探索 IntelliJ IDEA 中 Spring Boot 运行配置

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

快速讲图片中的公式粘贴到word中

只是个人学习记录,不具备教学意义 目的: 比如下面图片中的公式 我们想把这个公式整到我们的word上,传统的方法是通过安装MathType插件,然后慢慢打。我说这样你就慢了。 解决办法: 前提准备: 我们需要…

【STM32+HAL】FreeRTOS学习小札

一、RTOS程序任务结构 如上图所示,在实时操作系统中,开发人员可以把要实现的功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是一个死循环。 二、多任务系统基本概念 1、FreeRTO…

复杂网络(四)

一、规则网络 孤立节点网络全局耦合网络(又称完全网络)星型网络一维环二维晶格 编程实践: import networkx as nx import matplotlib.pyplot as pltn 10 #创建孤立节点图 G1 nx.Graph() G1.add_nodes_from(list(range(n))) plt.figure(f…

安规题库;安全测试题;安规刷题;大风车excel

一、电网安规题库、试题 安规真的是年年考,天天背,时不时抽考 往往需要利用上下班的零碎时间来练习和记忆 分享一套电网真题、原题(150道选择题) 上面的试题,我已经导入到刷题工具(大风车excel&#xff…

ElasticSearch学习篇19_《检索技术核心20讲》搜推广系统设计思想

目录 主要是包含搜推广系统的基本模块简单介绍,另有一些流程、设计思想的分析。 搜索引擎 基本模块检索流程 查询分析查询纠错 广告引擎 基于标签倒排索引召回基于向量ANN检索召回打分机制:非精确打分精准深度学习模型打分索引精简:必要的…

BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比

BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比 目录 BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比预测效果基本介绍模型描述程序设计…

Matlab Simulink HDL Coder FPGA开发初体验—计数器

目录 一、Simulink设计及仿真二、Verilog HDL代码转换1、参数配置2、HDL代码生成 三、ModelSim仿真分析1、使用自己编写的Testbench文件进行仿真2、使用HDL Coder生成的Testbench文件进行仿真 前言 Simulink HDL Coder‌是一款将Simulink和Stateflow模型转化为可综合的Verilog和…

RAG数据拆分之PDF

引言RAG数据简介PDF解析方法及工具代码实现总结 二、正文内容 引言 本文将介绍如何将RAG数据拆分至PDF格式,并探讨PDF解析的方法和工具,最后提供代码示例。 RAG数据简介 RAG(关系型属性图)是一种用于表示实体及其关系的图数据…

Postman设置接口关联,实现参数化

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 postman设置接口关联 在实际的接口测试中,后一个接口经常需要用到前一个接口返回的结果, 从而让后一个接口能正常执行,这…

不玩PS抠图了,改玩Python抠图

网上找了两个苏轼的印章图片: 把这两个印章抠出来的话,对于不少PS高手来说是相当容易,但是要去掉其中的水印,可能要用仿制图章慢慢描绘,图章的边缘也要慢慢勾画或者用通道抠图之类来处理,而且印章的红色也不…

构造函数与析构函数错题汇总

构造函数不能定义返回类型,也没有返回类型。 堆、栈、静态存储区。栈上的对象main函数结束就释放,堆上的需要手动释放,静态存储区的在所在作用域的程序结束时释放。这里static在main函数内,是局部变量,所以作用域为…

模拟器快速上手,助力HarmonyOS应用/服务高效开发

文章目录 1 创建模拟器1)打开设备管理界面2)设置本地模拟器实例存储路径3)创建一个模拟器(1)选择模拟器设备(2)创建模拟器(3)启动模拟器(4)关闭模…

如何估算自然对流传热系数

介绍 一般来说,对流可以定义为通过加热流体(例如空气或水)的运动来传递热量的过程。 自然对流(对流的一种特定类型)可以定义为流体在重力作用下由于较热因此密度较小的物质上升,而较冷且密度较大的物质下…

【Git 工具】用 IntelliJ IDEA 玩转 Git 分支与版本管理

文章目录 一、使用 IDEA 配置和操作 Git1.1 查看 Idea 中的 Git 配置1.2 克隆 Github 项目到本地 二、版本管理2.1 提交并推送修改2.2 拉取远程仓库2.3 查看历史2.4 版本回退 三、分支管理3.1 新建分支3.2 切换分支3.2 合并分支3.4 Cherry-Pick 参考资料 一、使用 IDEA 配置和操…

本地学习axios源码-如何在本地打印axios里面的信息

1. 下载axios到本地 git clone https://github.com/axios/axios.git 2. 下载react项目, 用vite按照提示命令配置一下vite react ts项目 npm create vite my-vue-app --template react 3. 下载koa, 搭建一个axios请求地址的服务端 a.初始化package.json mkdir koa-server…

【深度学习基础】预备知识 | 微积分

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…

微信小程序构建npm失败,没有找到可以构建的npm包

方法:打开终端输入 npm init -y npm install 或 yarn install我用 npm install 下载后并没有出现node_modules, 又用 yarn install 下载,成功了 下载好后,在project.config.json文件添加 "showShadowRootInWxmlPanel": true, …

Ubuntu 24.04使用docker安装Node-Red

Node-Red是开源是可视化的流计算软件,在Ubuntu 24.04版本下,很容易通过docker进行安装。 本人环境信息如下: Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-45-generic x86_64)ubuntupascalming-ubuntu:~$ docker -v Docker version 24.0…

11.26深度学习_神经网络-数据处理

一、深度学习概述 1. 什么是深度学习 ​ 人工智能、机器学习和深度学习之间的关系: ​ 机器学习是实现人工智能的一种途径,深度学习是机器学习的子集,区别如下: ​ 传统机器学习算法依赖人工设计特征、提取特征,而深…

Kotlin的object修饰符定义类似Java的静态类/静态方法

Kotlin的object修饰符定义类似Java的静态类/静态方法 //类似Java的static类 object StaticCls {//类似Java静态变量private var num 0//类似Java的静态方法fun updateVal(n: Int) {num n}fun getVal(): Int {return num} }class MyTest() {fun setVal() {StaticCls.updateVal…