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 应用程序。让我为你详细解释每个部分的含义:
C:\Users\Administrator\.jdks\corretto-17.0.8\bin\java.exe
: 这是 Java 的可执行文件路径,表示你正在使用 Amazon Corretto 17 版本的 Java 运行你的应用程序。-XX:TieredStopAtLevel=1
: 这是 Java 虚拟机的参数,用于控制 JIT 编译的阶段。在这里,它将 JIT 编译限制为第一层。-Dspring.output.ansi.enabled=always
: 设置 Spring 输出使用 ANSI 颜色。-Dcom.sun.management.jmxremote
: 启用 Java 远程管理。-Dspring.jmx.enabled=true
: 启用 Spring JMX(Java Management Extensions)。-Dspring.liveBeansView.mbeanDomain
: 设置 Spring Live Beans View 的 MBean 域。-Dspring.application.admin.enabled=true
: 启用 Spring 应用程序管理。"-Dmanagement.endpoints.jmx.exposure.include=*"
: 配置哪些管理端点会在 JMX 中公开。"-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 代理。-Dfile.encoding=UTF-8
: 设置文件编码为 UTF-8。-classpath
: 设置类路径,包含了你的应用程序的类文件以及各种依赖。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开发工具中打开RunDebug Configurations界面(2022版本)
2021版本和2022版本长得不一样,但是还是能对上的
2022版本的界面,点击Modify options可以添加VM options栏
以jar包启动不同的环境案例
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
ChatGPT 帮忙解释下这段命令各项参数
这段代码是一个 Java 启动命令,用于运行 Spring Boot 应用程序。让我为你详细解释每个部分的含义:
- C:\Users\Administrator\.jdks\corretto-17.0.8\bin\java.exe: 这是 Java 的可执行文件路径,表示你正在使用 Amazon Corretto 17 版本的 Java 运行你的应用程序。
- -XX:TieredStopAtLevel=1: 这是 Java 虚拟机的参数,用于控制 JIT 编译的阶段。在这里,它将 JIT 编译限制为第一层。
- -Dspring.output.ansi.enabled=always: 设置 Spring 输出使用 ANSI 颜色。
- -Dcom.sun.management.jmxremote: 启用 Java 远程管理。
- -Dspring.jmx.enabled=true: 启用 Spring JMX(Java Management Extensions)。
- -Dspring.liveBeansView.mbeanDomain: 设置 Spring Live Beans View 的 MBean 域。
- -Dspring.application.admin.enabled=true: 启用 Spring 应用程序管理。
- "-Dmanagement.endpoints.jmx.exposure.include=*": 配置哪些管理端点会在 JMX 中公开。
- "-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 代理。
- -Dfile.encoding=UTF-8: 设置文件编码为 UTF-8。
- -classpath: 设置类路径,包含了你的应用程序的类文件以及各种依赖。
- com.zing.firstspringboot.FirstSpringBootApplication: 这是你的 Spring Boot 应用程序的入口类的完全限定名,用于告诉 Java 虚拟机从哪个类开始执行。
总之,这段启动命令用于启动 Spring Boot 应用程序,并设置了一些 Java 虚拟机参数和应用程序的配置。它告诉 Java 虚拟机从指定的入口类开始执行,使得你的 Spring Boot 应用能够正常运行。
-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; // 省略其他代码 }
将springboot打成jar包按环境进行启动
maven的安装
1.下载maven或者直接用idea的maven进行配置,这里给idea的maven进行配置,idea内置maven3路径需要通过everything来找一下,搜索mvn, 右键打开路径
2.把上面的路径拷贝进来,到环境变量中去配置
3.用MAVEN_HOME的方式非常好,可以非常方便的切换MVN的版本
本地没配置JAVA_HOME时,mvn --version 会提示你找不到JAVA_HOME 路径,而且powershell控制台也找不到mvn命令,等你设置好了JAVA_HOME 之后,则powershell也能识别mvn了,这个挺奇怪的,我暂且理解为mvn需要java环境才能运行,这里我依然使用的是idea自带的jdk-17
用户变量和系统变量都配置上去
将springboot打成jar包
然后选中该jar文件,右键单击打开面板选择Show in Explorer 即可跳转到该文件位置上,
在路径栏输入cmd 然后点击回车,直接在cmd打开
输入以下命令,可以启动dev环境
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
到此这篇关于Idea 中控制启动命令的详细过程 环境区分案例的文章就介绍到这了,更多相关idea控制启动命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!