2010-12-21 81 views
4

我有一個沒有GUI的程序,我使用控制檯!因此,首先我從控制檯的用戶讀取一行製作控制檯的jar文件

BufferedReader userReader = new BufferedReader(new InputStreamReader(System.in));

然後我會在控制檯上爲用戶寫一個答案!

System.out.println(「Server:」+ output);

我想爲它創建一個jar文件!但我怎樣才能顯示我的控制檯在jar文件中使用GUI? 請幫助我謝謝。

+0

如何創建jar部分檢查[this](http://stackoverflow.com/questions/4497068/making-a-jar-file/4497088#4497088) – 2010-12-21 08:57:51

回答

11

您需要從CLI(命令行)運行您的jar文件。像:

java -jar yourJar.jar 
pause 

如果要強制此,也有不同的方法來做到這一點:

  • 一個快捷方式文件,以CMD和你的罐子作爲參數
  • 一個批處理文件運行你的罐子使用代碼等礦以上
  • 從手動一個批處理文件調用(即我上面那樣)
+1

正確的命令是java -jar yourJar.jar – 2010-12-21 08:59:28

+0

它看起來運行得很好(我剛剛運行'java jarjar.jar';它給了我一個'jarjar.jar'不存在的錯誤)。 – Christian 2010-12-21 09:04:53

+1

如果省略-jar選項,則該參數將被視爲類名,該類名顯然不起作用。只有在使用-jar選項時,纔可以運行「可執行」jar文件 – 2010-12-21 09:15:49

3

製作一個可執行的jar是不管GUI是否相同。您需要在您的META-INF/MANIFEST.MF中指定您的Main-Class。見hereand here

當然,如果你想開始在控制檯上的東西,只要打開控制檯,使用以下命令:java -jar archive.jar(上述要求滿足)

那麼我建議你使用java.io.Console爲讀取和寫入控制檯。

+0

如果我理解他的觀點,問題是他無法看到控制檯。 – Christian 2010-12-21 09:02:07

+0

可能是如此..他的問題不太清楚。 – Bozho 2010-12-21 09:03:45

+0

當你運行一個jar文件!你可能看不到控制檯!我對嗎?但用命令行我想我可以 – user472221 2010-12-21 09:14:56

0

創建JAR文件的過程對於控制檯以及基於GUI的應用程序都是相同的。你絕對沒有看到你的JAR的輸出。只需從控制檯執行它,然後你會看到輸出。爲了方便使用,您可以創建一個批處理文件(MS-Windows)來運行您的JAR。

7

首先,沒有「控制檯JAR」和「GUI JAR」之類的東西。不過,控制檯和GUI模式有不同的VM啓動器。或者,更準確地說,有不同的發射器,其中一個具有控制檯,另一個沒有,但是如果你的程序有一個,它們都能夠顯示GUI。這些啓動器被命名爲「java」(控制檯版本)和javaw(無控制檯版本)。

要使用特定啓動程序啓動JAR,請使用「javaw -jar JARFILE」或「java -jar JARFILE」命令。如果在開始控制檯版本之前不打開控制檯,那麼只要程序完成,控制檯就會關閉。這意味着如果你想看到你的輸出結果,你不應該太快終止你的程序,或者先啓動一個控制檯(Win + R,「cmd」,Enter)並從控制檯運行「java -jar ...」。

另一種方法是轉到Windows控制面板並將the program associated with the JAR extension從「javaw」更改爲「java」。這將使系統中的每個JAR都使用控制檯。對於使用GUI的JAR,這隻會帶來另一個窗口打開的不便。有時候是你想要的,有時候不是。