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的安装
-
下载maven或者直接用idea的maven进行配置,这里给idea的maven进行配置,idea内置maven3路径需要通过everything来找一下,搜索mvn, 右键打开路径
把上面的路径拷贝进来,到环境变量中去配置
用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