我試圖以編程方式從Java應用程序中檢索VM參數。VM參數:正確檢索並以編程方式檢索
做了一些研究之後,我遇到了似乎是一個完美的解決方案來:
ManagementFactory.getRuntimeMXBean().getInputArguments();
然而,當一個參數的內容包含空格字符,參數被拆分,最多隻該空格字符出現在列表中。
隨着例如VM參數-Xmx1024mb -javaagent:"C:/Users/Thompson Main/Documents/app.jar"
,將返回下面的列表:
[0] -> -Xmx1024mb
[1] -> -javaagent:C:/Users/Thompson
[2] -> Main/Documents/app.jar
[3] -> -Dfile.encoding=Cp1252
第二VM參數被切斷,由於含有不可避免的空間,我不能假定所有的用戶缺少空間文件路徑中的字符。在我看來,這個錯誤使得ManagementFactory和RuntimeMXBean無用。
我做更多的研究,但我一直沒能找到一個替代,以獲取VM參數在他們的Java 6中(感謝讓 - 菲利普全部讓我知道它在Java中的成功之路7)。
從應用程序中獲取VM參數的另一種方法是什麼?
出於興趣,什麼是在索引'[2]' ? –
@GregKopff我的不好,實際上有索引2和3的對象,我不小心從問題中忽略了 – Vulcan