#java
#Ява
Вопрос:
String command = "javac -cp . -d ~/Users/andaegeun/Desktop/manifestTest/www/test/class $(find ~/Users/andaegeun/Desktop/manifestTest/www/test/src -name "*.java")"; String result = ""; DefaultExecutor executor = new DefaultExecutor(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PumpStreamHandler streamHandler = new PumpStreamHandler(baos); executor.setStreamHandler(streamHandler); try { int exitCode = executor.execute(new CommandLine(command)); result = baos.toString(); } catch (Exception e) { e.printStackTrace(); }
этот код содержит ошибку
Cannot run program "javac -cp . -d ~/Users/andaegeun/Desktop/manifestTest/www/test/class $(find ~/Users/andaegeun/Desktop/manifestTest/www/test/src -name "*.java")" (in directory "."): error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
Я хочу запустить команду javac, используя «apache commons exec» на java. Но я получаю вышеуказанную ошибку, как я могу ее исправить?
Комментарии:
1. ошибка сообщает вам, что он запущен, но файл, который вы пытаетесь запустить, не может быть найден. Вы убедились, что у вас есть
*.java
файлы по этому пути?2. да! Он работает в терминале Linux, но не в java.
3. Он пытается найти всю эту строку в виде файла, которого нет. Вам нужно разбить ваши разделенные пробелами аргументы на массив, например [«javac», «- cp»….] Попытайтесь найти способ выполнить это