2011-02-03 90 views
11

我已經搜索了很長時間才找到答案,我無法找到答案。我可以得到程序運行的路徑,但我不能得到名字!基本上,我創建的應用程序可以是.exe或.jar(這很複雜),我需要知道哪個!那麼有誰知道我可以如何獲取運行程序的文件名/擴展名(用Java)?獲取Java程序的名稱

由於提前

安迪

+0

這個問題還不清楚。通過啓動程序(.exe或.jar)啓動進程A,您是否想要在進程A或其他進程B中找到啓動程序的詳細信息。什麼是基於Java的?過程A或過程B? – 2011-02-03 19:31:47

回答

5

作出這樣傳遞給通過「-D」命令行開關程序的屬性,像這樣

java -Dprogram.name=myApp.jar -jar myApp.jar 

讀「節目的名字」它在你的代碼中是這樣的

if ("myApp.jar".equals(System.getProperty("program.name"))) { 
    // perform appropriate actions... 
} 
+0

謝謝,我已經在上面評論過你的答案了! – Andy 2011-02-03 19:42:13

4

運行JAR文件的實際程序是java.exe

我建議你從完全不同的角度來處理問題,並讓exe包裝程序設置程序查詢的系統屬性。或者你可以擁有它並且JAR清單指定不同的主類。

+0

嗨,現在我看到了暗示 - 感謝您的回覆。我會嘗試你所建議的,但我會以某種方式找到一個工作! – Andy 2011-02-03 19:40:50