Я пытаюсь запустить java-программу под названием Test.java из другой java-программы Demo.java. Обе программы находятся в том же пакете, что я делаю что-то вроде этого:Как выполнить java-программу из другой java-программы в eclipse
try{
System.out.println("Executing another client");
runProcess("javac -cp gridgain-examples C:/Users/Desktop/gridgain/examples/src/main/java/apache/ignite/schemas/Test.java");
System.out.println("******");
runProcess("java -cp gridgain-examples C:/Users/Desktop/gridgain/examples/src/main/java/apache/ignite/schemas/Test.java");
} catch(Exception e) {
e.printStackTrace();
}
И методы runProcess и printlines являются:
private static void printLines(String cmd, InputStream ins) throws Exception {
String line = null;
BufferedReader in = new BufferedReader(
new InputStreamReader(ins));
while ((line = in.readLine()) != null) {
System.out.println(cmd + " " + 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());
}
Но это не выполняется. Скажите, пожалуйста, как это сделать?
Существует ли какое-либо исключение, брошенное? – DZDomi
Нет, когда он идет в то время (строка = in.readLine))! = NULL (() линии , он переходит в бесконечный цикл. Кажется, что программа продолжает выполняться и не заканчивается. – user3591433
не знаю, является ли это причиной проблемы, но ваш второй вызов кажется неправильным, он все еще ссылается на java-файлы, а не на файлы классов –