-1

可能重复:
使用 Java 编译器 API 时出现空指针异常

我对这个程序有一些问题。

错误:

Exception in thread "main" 
java.lang.NullPointerException at test.SimpleCompileTest.main(SimpleCompileTest.java:9)

程序:

package test;
import javax.tools.*;
public class SimpleCompileTest {
    public static void main(String[] args)
    {
        String fileToCompile = "test" + java.io.File.separator+"MyClass.java";
        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        int compilationResult = compiler.run(null, null, null, fileToCompile);
        if(compilationResult==0)
        {
            System.out.println("Compilation is successful");
        }
        else
        {
            System.out.println("Compilation has failed");
        }
        }
    }
4

1 回答 1

0

Java 程序的编译不是那么简单,需要多花点功夫。请查看教程和 API,例如 http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html。根据您的 NPE,检查http://docs.oracle.com/javase/6/docs/api/javax/tools/package-summary.html

除非明确允许,否则如果给定 null 参数或给定包含 null 元素的列表或集合,则此包中的所有方法都可能抛出 NullPointerException。同样,除非明确允许,否则任何方法都不能返回 null。

于 2012-12-22T07:13:26.053 回答