Пытаюсь запустить команду для командной строки с помощью Runtime.getRuntime().exec.
Вот собственно команда "cmd /C cd C:\Scripts && javac Main.java && java Main"
Вот код всего класса
package sample;
import java.io.*;
public class Executor {
private String path;
private String className;
private String extension;
private String command;
boolean saveClassString;
ProcessBuilder processBuilder;
public Executor(String extension, String path, String className){
this.extension = extension;
this.path = path.replaceAll("\\\\", "\\\\\\\\");
this.className = className;
}
void start()throws Exception{
command = Main.programSettings.getCommandMap().get(extension).replaceAll("%%", className);
command = command.replaceAll("##", path); //"cmd /C cd ## && javac %%.java && java %%"
System.out.println(command);
readData(Runtime.getRuntime().exec(command);
}
private void readData(Process run) throws Exception {
String line;
BufferedReader inputReader = new BufferedReader(new InputStreamReader(run.getInputStream()));
BufferedReader outputReader = new BufferedReader(new InputStreamReader(run.getErrorStream()));
while ((line = inputReader.readLine()) != null) {
System.out.println(line);
}
inputReader.close();
while ((line = outputReader.readLine()) != null) {
System.out.println(line);
}
outputReader.close();
run.waitFor();
}
При запуске выдает следущее:
cmd /C cd C:\Scripts && javac Main.java && java Main //System.out.print()
javac: file not found: Main.java // это уже от Runtime
Usage: javac <options> <source files> //
use -help for a list of possible options //
Process finished with exit code 0
Этот класс должен компилировать Файл и вывести на экран результат работы скомпилированного файла, но он это отказывается делать. Если вызывать команду "cmd /C cd C:\Scripts && javac Main.java && java Main" через командную строку, то получается ответ как и при запуске сверху. Если запустить в командной строке команду без "cmd /c" то команда сработает успешно, файл скомпилируется и выведет результат работы, однако runtime.getruntime.exec() отказывается принимать команду без "cmd /c" (вылетает с ошибкой). Пробовал и сохранять команду в bat файл и передавать ProcessBuilder, однако ничего не выходит. Еще большее смятение вызывает то, что в предыдущем проекте я использовал такую же команду и все работало. Помогите пожалуйста решить проблему. Располагается файл C:\Scripts\Main.java
Виртуальный выделенный сервер (VDS) становится отличным выбором
Вроде простая задача и скорее всего решение какое то очевидное, но я что-то запуталсяЯ конечно могу что то закостылять индивидуально для...
на самом деле всё установлено, но когда я пишу некоторые стили в mainsass компилируется в main
Задача: сделать свой загрузчик файлов в Ckeditor 5Перечитав кучу документации так и не понял, что и куда надо подставить, что бы заработал свой...
data: "id= 'category1'", вот нужно чтобы id был равен значению которое берется из $("#cat")val(); вот так не работает data: "id= "+$("#cat")