将其作为外部进程调用时,如何获取Java编译器错误消息?

时间:2013-07-02 15:03:43

标签: java compiler-construction javac

我想创建自己的小型java编辑器,但我不知道,编写java类的最佳方法是什么,并获得错误等返回消息。

我试过了,但我无法进一步......

    ProcessBuilder builder = new ProcessBuilder("javac");
    try
    {
        Process process = builder.start();
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }

2 个答案:

答案 0 :(得分:0)

您可以使用javac指向将生成一个.class文件的java文件,然后您必须启动另一个进程来运行类文件(如果它有一个main方法)并使用它的输出以在编辑器上显示它

您也可以使用Eclipse Compiler for Java这是一个jar文件,它为您提供了一个用于动态编译的API What is the difference between javac and the Eclipse compiler?

但你为什么要这样做呢?

答案 1 :(得分:0)

Process文档提供了getErrorStream()和getOutputStream()方法。阅读那些流,但是从不同的线程中读取。