【问题标题】:Exception in thread "main" java.lang.NullPointerException [duplicate]线程“main”中的异常 java.lang.NullPointerException [重复]
【发布时间】:2012-12-09 15:56:40
【问题描述】:

可能重复:
Null Pointer Exception while using Java Compiler 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");
        }
        }
    }

【问题讨论】:

    标签: java compiler-errors nullpointerexception


    【解决方案1】:

    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。

    【讨论】:

    • 我正要说,将三个空参数传递给一个函数并得到一个NullPointerException?嗯,让我们考虑一下……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    相关资源
    最近更新 更多