Я пишу программу, которая включает функцию, в которой пользователь может вводить код Java в текстовое поле и иметь возможность компилировать и запускать его.Я получаю сообщение об ошибке:
Два каталога, показанные вверху, верны, и команда работает, когда я делаю это вручную через командную строку из того же рабочего каталога.Я использую Windows 10, а также вот код:
public Process compile() throws IOException {
save(); //saves changes to source file
System.out.println(file.getCanonicalPath());
ProcessBuilder processBuilder = new ProcessBuilder("javac", file.getCanonicalPath());
processBuilder.directory(new File(settingsFile.getJdkPath()));
System.out.println(processBuilder.directory());
Process process = processBuilder.start(); //Throws exception
this.compiledFile = new File(file.getParentFile(), file.getName().replace(".java", ".class"));
return process;
}
Файл для компиляции:
Рабочий каталог: