2013-03-07 2 views
0

У меня есть 2 java-программы внутри пакета в проекте netbeans. 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 код

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(); 
    } 
    } 
} 

Заранее спасибо

+0

Почему вы хотите запустить 'JdbcSqlServerConnectivity' в отдельном процессе? – Zutty

ответ

0

Вы должны указать полный путь системного файла 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 ("ява -cp FULLPATH JdbcSqlServerConnectivity.java");

Смежные вопросы