idea如何為java程序添加啟動參數(shù)
idea為java程序添加啟動參數(shù)
idea為java程序添加啟動參數(shù)(program arguments,vm arguments,Environment variable),并在程序中獲取使用
Java啟動命令可選項(options)
java啟動命令可選項顧名思義就是java啟動參數(shù),當你不加這個參數(shù)時 jvm會選擇默認的配置進行啟動。Java啟動命令可選項(options)大致可分為標準和非標準兩種,非標準的可選項不保證在所有平臺上都實現(xiàn),并且未來的版本中可能會被修改且不告知,總之就是不穩(wěn)定(Unstable)。不過有的非標準可選項還是非常有用的。
標準可選項(Standard options) 使用最多的就是 -Dkey=value 設(shè)定系統(tǒng)屬性值,比如編碼 -Dfile.encoding=UTF-8 ??梢栽O(shè)定一些系統(tǒng)使用的屬性,也可以用來向程序傳遞一些自定義的參數(shù)。 可以通過System.getProperty(“keyname”) 來獲取屬性。
非標準可選項(Nonstandard Options)主要是設(shè)置一些虛擬機的參數(shù), 非標準的可選項一般都是以 -X 開始,同時他還包含一個不穩(wěn)定的不穩(wěn)定(Unstable)的選項 不穩(wěn)定的選項一般都是以 -XX 開頭。
idea的添加啟動參數(shù)的過程
如下所示:
打開需要添加啟動參數(shù)的對話框

找到你需要的添加啟動的參數(shù)的如果沒有需要自己新建

注意:
VM options需要以 -D 或 -X 或 -XX 開頭,每個參數(shù)最好使用空格隔開。program arguments每個參數(shù)需要以空格隔開。否則將會被識別成一個參數(shù),自己用的時候還得手動處理。Environment variable沒有前綴,優(yōu)先級低于 VM options ,即如果VM options 有一個變量和 Environment variable中的變量的key相同,則以VM options 中為準,(如果用命令行啟動,這個參數(shù)需要在運行java類以前使用 set JAVA_HOME=D:\jdk1.8.0_05 這種方式進行臨時修改,這種方式只在當前cmd窗口有效,點擊看詳情 [設(shè)置臨時的java環(huán)境變量][java])。
java提供了System類的靜態(tài)方法getenv()和getProperty()用于返回系統(tǒng)相關(guān)的變量與屬性,**getenv()**方法返回的變量大多于系統(tǒng)相關(guān),
getProperty()方法返回的變量大多與java程序有關(guān)。System.getenv()方法是獲取指定的環(huán)境變量的值。System.getenv(String name)接收參數(shù)為任意字符串,當存在指定環(huán)境變量時即返回環(huán)境變量的值,否則返回null。System.getProperty()是獲取系統(tǒng)的相關(guān)屬性,包括文件編碼、操作系統(tǒng)名稱、區(qū)域、用戶名等,此屬性一般由jvm自動獲取,不能設(shè)置。System.getProperty(String key)接收參數(shù)為任意字符串,當存在指定屬性時即返回屬性的值,否則返回null。
public class MyTest {
//*program arguments 其實就是對應(yīng)的args參數(shù)
public static void main(String[] args) {
//打印傳進來的 program arguments
for (String arg : args) {
System.out.println(arg);
}
//獲取java相關(guān)的環(huán)境變量
String myVMarg = System.getProperty("MyVMarg");
System.out.println("System.getProperty(\"MyVMarg\")----->"+myVMarg);
Properties properties = System.getProperties();
System.out.println("System.getProperties():=======>"+properties);
//獲取運行jvm的平臺相關(guān)環(huán)境變量
Map<String, String> getenv = System.getenv();
System.out.println("System.getenv():----->"+getenv);
String myVMarg1 = System.getenv("MyVMarg");
System.out.println("System.getenv(\"MyVMarg\")=======>"+myVMarg1);
}
}spring 啟動參數(shù)
- 設(shè)置配置文件
-Dspring.profiles.active=dev - 設(shè)置啟動端口
-Dserver.port=8081
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合Quartz及異步調(diào)用的案例
Quartz是一個完全由java編寫的開源作業(yè)調(diào)度框架、它的簡單易用受到業(yè)內(nèi)人士的一致好評,這篇文章主要介紹了SpringBoot整合Quartz及異步調(diào)用,需要的朋友可以參考下2023-03-03
在IntelliJ?IDEA中修改Git遠程倉庫地址的詳細流程
在軟件開發(fā)過程中,Git作為版本控制工具的核心地位無可替代,然而,隨著項目遷移、團隊協(xié)作需求變化或遠程倉庫平臺的切換(如從?GitLab?遷移到?Gitee),開發(fā)者常常需要修改本地項目的遠程倉庫地址,所以本文介紹了在IntelliJ?IDEA中修改Git遠程倉庫地址的詳細流程2025-05-05
關(guān)于Idea創(chuàng)建Java項目并引入lombok包的問題(lombok.jar包免費下載)
很多朋友遇到當idea創(chuàng)建java項目時,命名安裝了lombok插件卻不能使用注解,原因有兩個大家可以參考下本文,本文對每種原因分析給出了解決方案,需要的朋友參考下吧2021-06-06
mybatis Plus 多表聯(lián)合查詢的實現(xiàn)示例
這篇文章主要介紹了mybatis Plus 多表聯(lián)合查詢的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09

