SpringBoot 学习(04):Idea 中控制启动命令的详细过程 环境区分案例

这篇具有很好参考价值的文章主要介绍了SpringBoot 学习(04):Idea 中控制启动命令的详细过程 环境区分案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

IDEA 启动SpringBoot的命令

C:\Users\Administrator\.jdks\corretto-17.0.8\bin\java.exe 
-XX:TieredStopAtLevel=1 
-Dspring.output.ansi.enabled=always 
-Dcom.sun.management.jmxremote 
-Dspring.jmx.enabled=true 
-Dspring.liveBeansView.mbeanDomain 
-Dspring.application.admin.enabled=true "
-Dmanagement.endpoints.jmx.exposure.include=*" 
"-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\lib\idea_rt.jar=5810:C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\bin" 
-Dfile.encoding=UTF-8 
-classpath E:\JavaProjects\first-spring-boot\target\classes;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-web\3.1.2\spring-boot-starter-web-3.1.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter\3.1.2\spring-boot-starter-3.1.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot\3.1.2\spring-boot-3.1.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\3.1.2\spring-boot-autoconfigure-3.1.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-logging\3.1.2\spring-boot-starter-logging-3.1.2.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-classic\1.4.8\logback-classic-1.4.8.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-core\1.4.8\logback-core-1.4.8.jar;C:\Users\Administrator\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.20.0\log4j-to-slf4j-2.20.0.jar;C:\Users\Administrator\.m2\repository\org\apache\logging\log4j\log4j-api\2.20.0\log4j-api-2.20.0.jar;C:\Users\Administrator\.m2\repository\org\slf4j\jul-to-slf4j\2.0.7\jul-to-slf4j-2.0.7.jar;C:\Users\Administrator\.m2\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;C:\Users\Administrator\.m2\repository\org\yaml\snakeyaml\1.33\snakeyaml-1.33.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-json\3.1.2\spring-boot-starter-json-3.1.2.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.15.2\jackson-databind-2.15.2.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.15.2\jackson-annotations-2.15.2.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.15.2\jackson-core-2.15.2.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.15.2\jackson-datatype-jdk8-2.15.2.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.15.2\jackson-datatype-jsr310-2.15.2.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.15.2\jackson-module-parameter-names-2.15.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\3.1.2\spring-boot-starter-tomcat-3.1.2.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\10.1.11\tomcat-embed-core-10.1.11.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.11\tomcat-embed-el-10.1.11.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.11\tomcat-embed-websocket-10.1.11.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-web\6.0.11\spring-web-6.0.11.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\6.0.11\spring-beans-6.0.11.jar;C:\Users\Administrator\.m2\repository\io\micrometer\micrometer-observation\1.11.2\micrometer-observation-1.11.2.jar;C:\Users\Administrator\.m2\repository\io\micrometer\micrometer-commons\1.11.2\micrometer-commons-1.11.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\6.0.11\spring-webmvc-6.0.11.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\6.0.11\spring-aop-6.0.11.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-context\6.0.11\spring-context-6.0.11.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\6.0.11\spring-expression-6.0.11.jar;C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\2.0.7\slf4j-api-2.0.7.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-core\6.0.11\spring-core-6.0.11.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-jcl\6.0.11\spring-jcl-6.0.11.jar 
com.zing.firstspringboot.FirstSpringBootApplication

这段代码是一个 Java 启动命令,用于运行 Spring Boot 应用程序。让我为你详细解释每个部分的含义:

  1. C:\Users\Administrator\.jdks\corretto-17.0.8\bin\java.exe: 这是 Java 的可执行文件路径,表示你正在使用 Amazon Corretto 17 版本的 Java 运行你的应用程序。

  2. -XX:TieredStopAtLevel=1: 这是 Java 虚拟机的参数,用于控制 JIT 编译的阶段。在这里,它将 JIT 编译限制为第一层。

  3. -Dspring.output.ansi.enabled=always: 设置 Spring 输出使用 ANSI 颜色。

  4. -Dcom.sun.management.jmxremote: 启用 Java 远程管理。

  5. -Dspring.jmx.enabled=true: 启用 Spring JMX(Java Management Extensions)。

  6. -Dspring.liveBeansView.mbeanDomain: 设置 Spring Live Beans View 的 MBean 域。

  7. -Dspring.application.admin.enabled=true: 启用 Spring 应用程序管理。

  8. "-Dmanagement.endpoints.jmx.exposure.include=*": 配置哪些管理端点会在 JMX 中公开。

  9. "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\lib\idea_rt.jar=5810:C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\bin": 配置 IntelliJ IDEA 的 Java 代理。

  10. -Dfile.encoding=UTF-8: 设置文件编码为 UTF-8。

  11. -classpath: 设置类路径,包含了你的应用程序的类文件以及各种依赖。

  12. com.zing.firstspringboot.FirstSpringBootApplication: 这是你的 Spring Boot 应用程序的入口类的完全限定名,用于告诉 Java 虚拟机从哪个类开始执行。

-Dspring.output.ansi.enabled=always 这类传入参数,代码中怎么获取到

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class MyComponent {

    @Value("${spring.output.ansi.enabled}")
    private String ansiEnabled;

    // 省略其他代码
}

使用 IDEA 自带 Run/Debug configurations 启动

  1. 这个其他弱类型语言的人用的很少,源于弱类型语言的开发者大多没有经历从强类型语言转弱类型语言的过程,所以对调试不感兴趣
  2. 很多前端同学用了很久的 javascript,都不在谷歌浏览器devtools 打 debug,看调用栈,而是用 console.log 方式来调试,用 IDEA 的 debug 可以调试 webpack 的打包过程,这个对于快速掌握 webpack 打包过程非常有用;
  3. PHP 开发者绝大部分都不知道远程调试是什么,若能突破这个概念基本上都是高级程序员了,对于弱类型语言,如果不调试,又加上没有类型提示,是很难搞明白程序的执行过程的;
  4. 对于弱类型语言开发人员不喜欢调试的原因一是主流教程不教,二是自我摆烂,使用弱类型语言的一批人本身就是冲着简单编写来的,不想去学习更深的知识,所以鄙视链也是起源的,只不过鄙视到后期,就变成了鄙视语言了。
  5. Run/Debug 执行时可以看到在 run 控制台中有相应的执行脚本,这些脚本参数人手动敲是无法想象的,参考上面 IDEA 启动SpringBoot的命令 这个就能看出来,这些参数平时我们也不会用,了解这些可有助于更快明白源代码所起到的作用——直观、简化、有条理;
idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea
windows 下 2021 版本的 IDEA 配置界面

2022版本的界面,点击Modify options可以添加VM options栏

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea
这是 mac 中在脚本文件右键调用 Debug 的入口截图
idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea
这是 mac 上的 phpstorm run/debug 编辑配置的入口截图
idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea
windows IDEA 2022 配置页面截图

-Dspring.output.ansi.enabled=always 这类传入参数,代码中怎么获取到

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class MyComponent {

    @Value("${spring.output.ansi.enabled}")
    private String ansiEnabled;

    // 省略其他代码
}

以jar包方式启动不同的环境案例

Idea 内置Maven的查找和配置

有两种方式配置maven

  1. 下载 maven 这个有很多教程了,这里不做赘述;
  2. 直接使用Idea的Maven进行配置,这里给idea的maven进行配置,idea内置maven3路径需要通过everything来找一下,搜索mvn,会找到 plugins 的路径,Maven 作为 IDEA的插件使用,所以下载不了多个 Maven 版本,实际创建项目时,Maven 版本也不让选择, 右键打开路径

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea

把上面的路径拷贝进来,到环境变量中去配置

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea

用MAVEN_HOME的方式非常好,可以非常方便的切换MVN的版本,以后更换Maven 版本时就不用跑到 Path 里面再设置一下了,这个挺方便,以前没太注意这一点

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea

本地没配置JAVA_HOME时,mvn --version 会提示你找不到JAVA_HOME 路径,而且powershell控制台也找不到mvn命令,等你设置好了JAVA_HOME 之后,则powershell也能识别mvn了,这个挺奇怪的,我暂且理解为mvn需要java环境才能运行,这里我依然使用的是idea自带的jdk-17

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea

用户变量和系统变量都配置上去

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea

将 springboot 打成 jar 包 在 cmd 中进行启动 并设置启动环境

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea

然后选中该jar文件,右键单击打开面板选择Show in Explorer 即可跳转到该文件位置上,

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea

在路径栏输入cmd 然后点击回车,直接在cmd打开

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea

输入以下命令,可以启动dev环境

java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

idea启动命令配置环境,SpringBoot,spring boot,学习,intellij-idea文章来源地址https://www.toymoban.com/news/detail-776089.html

 Python/PHP 思维学 SpringBoot 系列探索

学习知识都是环环相扣,我们先看看之前探索过什么

  1. SpringBoot 学习(01): javac、src/main/java目录、Maven与pip 弱类型语言为何没有子模块编译_森叶的博客-CSDN博客
  2. SpringBoot 学习(02): 从嵌入式系统到嵌入式Servlet SpingBoot 的进化之路_森叶的博客-CSDN博客
  3.  SpringBoot 学习(03): 弱语言的注解和SpringBoot注解的异同_森叶的博客-CSDN博客

到了这里,关于SpringBoot 学习(04):Idea 中控制启动命令的详细过程 环境区分案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何监控EMC VNX控制器的启动过程

    这里我们要讨论的内容基本上适用于所有的EMC VNX中端存储系统,包含老的Clariion CX3,CX4,VNX1和VNX2,其实VNXe和Unity很多内容也是一样的。当然由于VNXe和Unity 操作系统的大的变化,差异也是比较大的。 导致EMC Clarrion CX和VNX存储控制器故障的原因有很多,常见的有: 1. 控制器物

    2024年02月08日
    浏览(36)
  • CentOS8启动过程与服务单元控制systemctl

            CentOS8采用了systemd,启动过程被大大缩短了。具体启动过程如下: 1、开机自检。 2、从硬盘的MBR中读取引导程序GRUB。 3、引导程序更加配置文件显示引导菜单。 4、如果选择进入Linux系统,此时引导程序就会加载Linux内核文件。 5、当内核全部载入内存后,GRUB的任务

    2024年02月14日
    浏览(34)
  • Ubuntu22.04安装详细过程-图文版

    一.下载Ubuntu Server镜像, 官方地址 下载即可 Get Ubuntu Server | Download | Ubuntu 乌班图镜像网址,点击下载即可 二.安装乌班图镜像,最好自己准备u盘在ISO软件内制作完成 1.选择 Install Ubuntu Server 2.选择安装语言为英语 3.安装程序更新选择不更新,继续下一步 4.键盘布局选择默认,

    2024年02月08日
    浏览(48)
  • Springboot启动过程入口和加载配置

    Springboot自动自动配置启动过程加载的核心类以及一些主要的方法,Spring中使用需要很多自己手动配置,而Boot提供很多默认的配置。

    2024年02月08日
    浏览(45)
  • springboot 启动过程【版本2.7.8】

    1、推测web应用类型 如果项目依赖中存在org.springframework.web.reactive.DispatcherHandler,并且不存在 org.springframework.web.servlet.DispatcherServlet,那么应用类型为WebApplicationType.REACTIVE 如果项目依赖中不存在org.springframework.web.reactive.DispatcherHandler,也不存在 org.springframework.web.servlet.Dispatche

    2024年02月08日
    浏览(34)
  • 嵌入式ARM设计编程(四) ARM启动过程控制

    文章和代码已归档至【Github仓库:hardware-tutorial】,需要的朋友们自取。或者公众号【AIShareLab】回复 嵌入式 也可获取。 一、实验目的 (1) 掌握建立基本完整的ARM 工程,包含启动代码,C语言程序等; (2) 了解ARM启动过程,学会编写简单的C 语言程序和汇编启动代码并进行

    2024年02月06日
    浏览(54)
  • IDEA启动tomcat控制台中文乱码问题

    IntelliJ IDEA是很多程序员必备且在业界被公认为最好的Java开发工具,有很多小伙伴在安装完IDEA并且tomcat之后,启动tomcat会出现控制台中文乱码问题,如下图所示: 具体解决步骤: 一、修改当前 Web 项目 Tomcat Server 的虚拟机输出选项 二、修改 IntelliJ IDEA 全局编码、项目编码、

    2024年02月11日
    浏览(55)
  • 解决idea启动tomcat控制台中文乱码

    如图这种情况,一般在idea用tomcat跑一个web项目启动后tomcat日志在控制台打印出来会出现中文乱码的情况 解决方案1: tomcat的日志配置文件的编码修改,找到tomcat安装目录conf下的logging.properties,encoding都修改成GBK或者UTF-8试试,当然我这种没成功  解决方案2: 修改idea显示编码

    2024年02月11日
    浏览(72)
  • 【STM32】STM32内存映射以及启动过程(超详细过程)

    下图是 STM32F103xCDE 型号的内存映射图。 由于 STM32 是 32 位,且其地址总线也为 32 根,所以其 理论能够寻找的地址大小为 4GB 。 从上图可以看出,左边的地址从 0x0000 0000 ~ 0xFFFF FFFF 的 4GB 是 STM32 理论分配的地址空间, STM32 实际上的空间大小 远远小于 4GB 的 。4GB 中又划分出了

    2024年02月11日
    浏览(39)
  • Ubuntu-Server 22.04.1 安装详细过程(图文)

    下载Ubuntu Server镜像,官方地址下载即可  1、选择 Install Ubuntu Server 2、 语言选择,默认英语 3、键盘布局,可不用修改 4、选择第二项最小化安装(如果对系统不是熟的可以选择第一项)  5、网络配置,使用 DHCP 或者 静态IP(建议这里设置好静态IP,如果选择DHCP,则在此界

    2024年01月23日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包