как запустить javac в apache commons exec

#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»….] Попытайтесь найти способ выполнить это