Idea?中控制啟動命令的詳細過程?區(qū)分環(huán)境案例詳解
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 的可執(zhí)行文件路徑,表示你正在使用 Amazon Corretto 17 版本的 Java 運行你的應用程序。-XX:TieredStopAtLevel=1: 這是 Java 虛擬機的參數(shù),用于控制 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 虛擬機從哪個類開始執(zhí)行。
-Dspring.output.ansi.enabled=always 這類傳入?yún)?shù),代碼中怎么獲取到
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開發(fā)工具中打開RunDebug Configurations界面(2022版本)
2021版本和2022版本長得不一樣,但是還是能對上的

2022版本的界面,點擊Modify options可以添加VM options欄

以jar包啟動不同的環(huán)境案例
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 幫忙解釋下這段命令各項參數(shù)
這段代碼是一個 Java 啟動命令,用于運行 Spring Boot 應用程序。讓我為你詳細解釋每個部分的含義:
- C:\Users\Administrator\.jdks\corretto-17.0.8\bin\java.exe: 這是 Java 的可執(zhí)行文件路徑,表示你正在使用 Amazon Corretto 17 版本的 Java 運行你的應用程序。
- -XX:TieredStopAtLevel=1: 這是 Java 虛擬機的參數(shù),用于控制 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 虛擬機從哪個類開始執(zhí)行。
總之,這段啟動命令用于啟動 Spring Boot 應用程序,并設置了一些 Java 虛擬機參數(shù)和應用程序的配置。它告訴 Java 虛擬機從指定的入口類開始執(zhí)行,使得你的 Spring Boot 應用能夠正常運行。
-Dspring.output.ansi.enabled=always 這類傳入?yún)?shù),代碼中怎么獲取到
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包按環(huán)境進行啟動
maven的安裝
1.下載maven或者直接用idea的maven進行配置,這里給idea的maven進行配置,idea內置maven3路徑需要通過everything來找一下,搜索mvn, 右鍵打開路徑

2.把上面的路徑拷貝進來,到環(huán)境變量中去配置

3.用MAVEN_HOME的方式非常好,可以非常方便的切換MVN的版本

本地沒配置JAVA_HOME時,mvn --version 會提示你找不到JAVA_HOME 路徑,而且powershell控制臺也找不到mvn命令,等你設置好了JAVA_HOME 之后,則powershell也能識別mvn了,這個挺奇怪的,我暫且理解為mvn需要java環(huán)境才能運行,這里我依然使用的是idea自帶的jdk-17

用戶變量和系統(tǒng)變量都配置上去

將springboot打成jar包

然后選中該jar文件,右鍵單擊打開面板選擇Show in Explorer 即可跳轉到該文件位置上,

在路徑欄輸入cmd 然后點擊回車,直接在cmd打開

輸入以下命令,可以啟動dev環(huán)境
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

到此這篇關于Idea 中控制啟動命令的詳細過程 環(huán)境區(qū)分案例的文章就介紹到這了,更多相關idea控制啟動命令內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Java多線程編程中LockSupport類的線程阻塞用法
LockSupport類提供了park()和unpark()兩個方法來實現(xiàn)線程的阻塞和喚醒,下面我們就來詳解Java多線程編程中LockSupport類的線程阻塞用法:2016-07-07

