// 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窗口,在panel_1.java上调用javac,如果panel_1.java是一个有效的文件,它将被编译。 那么xterm窗口closures。 好吧,我想从编译中拿出警告等,并把它们放在一个列表或一个文本区域。 有任何想法吗???
Java 6拥有javax.tools
包中的JavaCompiler
,它为编译器提供了一个API,而无需运行一个外部进程。 (阅读我链接的javadoc!)
这里也是关于这个问题的一个小教程。