2016-01-20 84 views
1

我想打開一個jar文件並打開一個可與之交互的控制檯。我試圖用java.exe而不是javaw.exe打開罐子,但是當我嘗試運行該程序時,出現的窗口幾乎立即關閉。我究竟做錯了什麼?帶有使用命令行的Jar文件的Java IO

+0

「打開罐子」是什麼意思?閱讀jar文件的內容,或執行它作爲Java應用程序包含的類?像'java -jar jarname.jar'? –

+0

定義「與......互動」。你想讓你的jar通過控制檯讀取用戶的輸入嗎? – Pshemo

+0

@KevinHooke我想將它作爲Java應用程序執行 – madfjlkfafads

回答

1
  1. 您不從控制檯運行java.exe。
  2. 程序jar無法運行,出現錯誤或立即退出。
  3. 在Windows操作系統上運行java.exe需要創建一個代理控制檯來運行控制檯程序。
  4. javaw.exe不會打開控制檯,因此您看不到輸出。
0

您的程序因爲沒有等待輸入數據而關閉。

參見例如:

public static void main(String[] args) throws Exception { 
    System.out.println("Hello! I'm waiting for input..."); 
    args = new Scanner(System.in).nextLine().split(" ");    
    System.out.println("I received your data: \r\n\r"); 
    for(int i=0; i<args.length; i++) System.out.print(args[i] + " "); 
    System.out.println("\r\n\rAfter 10 second I'll close"); 
    Thread.sleep(10 * 1000); 
    // Here program did not waiting for input and was closed automatically; 
} 

在控制檯中顯示什麼:

C:\Users\user>java -jar "C:\myprogram.jar" 
Hello! I'm waiting for input... 
bla blabla bla bla // I did enter it to console 
I received your data: 

bla blabla bla bla 
After 10 second I'll close 

10秒鐘後程序被關閉,因爲沒有等待輸入數據。