2013-07-08 140 views
0

我試着用我的代碼和運行時命令運行jar。jar通過RMI連接到另一個主機。它通過一個異常並退出。Runtime.getRuntime().exec()環境不同於cmd env?

但是,當我從CMD打開罐子,它工作正常。

該jar獲取5個參數。

代碼:

String runCommand = "java -jar WhiteboardStudent.jar " 
     + "192.168.0.3" + " " 
     + "2000" + " " 
     + "2001" + " " 
     + "test" + " 0" ; 
final Process proc = Runtime 
     .getRuntime() 
     .exec(runCommand,null,new File("util/")); 

命令提示符:

java -jar WhiteboardStudent.jar 192.168.0.3 2000 2001 test 0 

在拋出異常的代碼是在這裏:

Object proxy = registry.lookup("RWD"); 
Whiteboard whiteboard = (Whiteboard)proxy; 

我只是stumped.any想法?

拋出異常的函數:

Registry registry = LocateRegistry.getRegistry(
       hostname, Integer.parseInt(whiteboardPort) 
       ); 
String serviceName = "RemoteWhiteboard" + sessionID; 
Object proxy = registry.lookup(serviceName); 
Whiteboard whiteboard = (Whiteboard)proxy; 
int userid = whiteboard.userRegistry(userName, ""); 
Main mainFrame = new Main(sessions, sessionID, 
    whiteboard,userid,""); 
+1

有什麼異常? –

+0

連接拒絕異常。所有可能出錯的東西都是 – armin

+0

,那不是我所期望的。我們需要在你的jar文件中看到代碼;特別是拋出異常的區域 –

回答

-1

我的建議是嘗試的絕對路徑在你的代碼:

String runCommand = "java -jar /c/users/xxx/WhiteboardStudent.jar " 
    + "192.168.0.3" + " " 
    + "2000" + " " 
    + "2001" + " " 
    + "test" + " 0" ; 
相關問題