2013-03-07 170 views
0

我有一個NetBeans項目中的包內的2個Java程序。 1是Run.java,另一個是JdbcSqlServerConnectivity.java。我提到了關於這個主題的早些時候的問題,但是沒有一個解決方案似乎有效。我收到以下錯誤如何從另一個java程序啓動java程序?

javac JdbcSqlServerConnectivity.java stderr: javac: file not found: JdbcSqlServerConnectivity.java 
javac JdbcSqlServerConnectivity.java stderr: Usage: javac <options> <source files> 
javac JdbcSqlServerConnectivity.java stderr: use -help for a list of possible options 
javac JdbcSqlServerConnectivity.java exitValue() 2 
java JdbcSqlServerConnectivity stderr: Error: Could not find or load main class JdbcSqlServerConnectivity 
java JdbcSqlServerConnectivity exitValue() 1 

Run.java代碼提前

+0

爲什麼要在單獨的進程中運行'JdbcSqlServerConnectivity'? – Zutty 2013-03-07 10:15:17

回答

0

import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 

public class Run { 

    private static void printLines(String name, InputStream ins) throws Exception { 
    String line; 
    BufferedReader in = new BufferedReader(
     new InputStreamReader(ins)); 
    while ((line = in.readLine()) != null) { 
     System.out.println(name + " " + line); 
    } 
    } 

    private static void runProcess(String command) throws Exception { 
    Process pro = Runtime.getRuntime().exec("/" + command + ""); 
    printLines(command + " stdout:", pro.getInputStream()); 
    printLines(command + " stderr:", pro.getErrorStream()); 
    pro.waitFor(); 
    System.out.println(command + " exitValue() " + pro.exitValue()); 
    } 

    public static void main(String[] args) { 
    try { 
     runProcess("javac JdbcSqlServerConnectivity.java"); 
     runProcess("java JdbcSqlServerConnectivity"); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 
} 

感謝您應該提供文件JdbcSqlServerConnectivity.java的完整系統路徑。例如,如果JdbcSqlServerConnectivity.java位於內D:\Temp\com\example目錄,那麼你應該如下規定:

runProcess("javac D:\\Temp\\com\\example\\JdbcSqlServerConnectivity.java"); 
runProcess("java D:\\Temp\\com\\example\\JdbcSqlServerConnectivity"); 
0

試試這個:

runProcess( 「java命令FULLPATH JdbcSqlServerConnectivity.java」);