Как я могу перенаправить вывод из Javac обратно в вызывающую программу - PullRequest
3 голосов
/ 14 февраля 2010
// this works
if ("Show".equals (obj))
{  
  try {  
    String command= "/usr/bin/xterm -e  javac  panel_1.java"; 
    Runtime rt = Runtime.getRuntime();      
    Process pr = rt.exec(command);

    BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));    
    String line = null;  
    while ((line = in.readLine()) != null) {  
      System.out.println(line); 
    }  
  } catch (IOException e)  {  
    e.printStackTrace();  
  }  
}

Это открывает окно xterm, вызывает javac для panel_1.java и компилируется, если panel_1.java является допустимым файлом тогда окно xterm закрывается. Хорошо, я хочу взять предупреждения и т. Д. Из компиляции и поместить их в список или текстовую область. Любые идеи ???

1 Ответ

5 голосов
/ 14 февраля 2010

Java 6 имеет JavaCompiler из пакета javax.tools, который предоставляет API для компилятора без необходимости запуска внешнего процесса. (прочитайте Javadoc, который я связал!)

Здесь - небольшое руководство по этому вопросу.

...