2014-02-18 178 views
0

我已經創建了一個基於控制檯的jar程序。爲了能夠運行它jarfile.jar或通過點擊它,我進入註冊表編輯器並從[...]javaw.exe[...][...]java.exe[...]編輯HKEY_CLASSES_ROOT> jarfile> shell>打開>命令>(默認)。它的工作,但不是馬上 - 我不得不改變默認程序,然後改變它幾次,並與它一堆(我不記得確切)。這種方法有兩個缺點:一個,不能用控制檯運行的可執行jar文件現在有一個,這很煩人;兩個,如果我想公開發布這個程序,每個想使用它的人都必須做同樣的事情,或者用 java -jar jarfile.jar運行它。用javaw控制檯窗口?

因此,我想知道是否有一種方法來編輯jar的主類來打開它自己的控制檯窗口,它不會被javaw.exe阻塞,這樣我就可以用javaw運行jar文件。我在想像openConsoleWindow(); outputTo(theNewWindow()); inputFrom(theNewWindow());

回答

0

糾正我,如果我錯了 - 你想不使用命令行啓動你的.JAR文件?我不知道有任何方法可以通過打開jar來做到這一點,但是您始終可以創建一個腳本,它將爲您執行命令行任務,這隻需要打開即可。那還是一種形式的發射器。

+0

這是可能的,但默認情況下它由javaw.exe打開,它不顯示控制檯窗口,並使用java.exe打開它有我在OP中描述的缺點,所以我正在尋找一種方法來創建java代碼中的一個控制檯窗口,希望在運行javaw時不會被阻止。我寧願只能直接運行jar而不是腳本。 – Blrp

+0

@Blrp另一個解決方案可能是如果你的程序檢測到java或javaw是否已經被使用,並且當你使用javaw時,它會使用'cmd.exe/c start java parameters_go_here'重新啓動以獲取控制檯窗口 – masterX244