2017-01-16 71 views
5

有沒有辦法在java中獲取命令行參數傳遞給程序main函數?Java - 獲取命令行參數,在主外部?

我正在寫一些代碼,這是我無法控制的更大的應用程序的一部分,我想知道命令行參數是什麼,而不修改main函數。

注意:我已經看過how to get the JVM argumentshow to get the arguments in main,但希望在我們的應用程序的其他部分獲得它,而不必將它們保存在main函數中,這是我無法控制的。

+0

順利拿到myArgument的價值無處不在Java代碼中,如果你知道這些參數的名稱(並希望在第一時間使用的名字)你可以將它們作爲系統屬性來傳遞。因此你可以通過'System.getProperty(name)'來訪問它們。 – Thomas

+1

另外檢查:http://stackoverflow.com/questions/2541627/how-do-i-get-the-commandline-that-started-the-process – JFPicard

+1

你可以嘗試屬性「sun.java.command」。它讓你可以訪問用來執行jar的完整命令(我將檢查文檔,這是JVM實現之間可移植的)。 – Paul

回答

2

當啓動JVM這樣:java -DmyArgument=myValue -jar your.jar你可以用String myArg = System.getProperty("myArgument");

+0

謝謝...這是有幫助的,但我正在尋找的參數不會作爲'-D'樣式參數傳遞.... –