2011-09-03 98 views
2

我正在將用C++編寫的簡單控制檯應用程序移植到Java中,以顯示語言的相似程度以及如何移植代碼。我已經爲使用Eclipse的程序導出了可執行的JAR。這些JAR在使用java -jar命令運行時工作正常。但是,從Windows資源管理器執行時,它們不能正常運行(雙擊)。控制檯窗口可以快速打開和關閉。雙擊時在控制檯上運行可執行的JAR

到目前爲止唯一的解決方案是使用批處理文件。有沒有其他的選擇?

+1

http://stackoverflow.com/questions/394616/running-jar-file-in-windows – AndrewBourgeois

+0

該解決方案不適合我的需求,因爲它需要修改每個可運行它的盒子上的設置。 –

回答

0

使用批處理文件似乎是我最好的選擇。我想這就是爲什麼Eclipse有一個啓動器。

0

有一些選項:

  1. 睡眠時程序做了一些,這樣你就可以讀取輸出。
  2. 撥打System.in.read()(再次在程序結束時),它將等待,直到您鍵入一個字符並命中輸入。
  3. 創建你自己的小擺動終端,當應用程序代碼完成時它不會關閉。
+0

我應該澄清。它應該首先通過java.io.Console.getline()提示輸入,但它甚至沒有這樣做。所以問題不在於程序何時退出,而在於它似乎無法正常運行。 –

0

這似乎是在命令行,並從註冊表中使用的JRE是不一樣的(安裝了多個JRE的時候可能出現這種情況)

你有沒有在您的Windows註冊表檢查是做什麼用的JRE運行可執行文件? 您可以在sun's site

+0

我只安裝了JRE 7,並且我的註冊表設置反映了這一點。 –

0

的註冊表設置中找到更多信息。對我而言,您的主類甚至不會被執行。 這將解釋控制檯窗口的快速打開/關閉。

還是有可能比java另一個程序有「jar」文件類型? 安裝諾基亞軟件後發生在我身上。

0

改變與程序的開放 C:\ Program Files文件\的Java \ jre7 \ BIN \ javaw.exe的