当前位置: 首页 > 知识库问答 >
问题:

使用JavaCompiler时出现Nullpointerexception错误

伯向晨
2023-03-14

下面是用eclipse IDE编写的Java代码...

package compile;

import java.io.IOException;
import java.util.Arrays;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;

public class Execute {
    public static void main(String args[]) throws IOException, ClassNotFoundException {
        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
        StandardJavaFileManager fileManager = compiler.getStandardFileManager(
                diagnostics, null, null);
        Iterable<? extends JavaFileObject> compilationUnits = fileManager
                .getJavaFileObjectsFromStrings(Arrays
                        .asList("F:\\practice java\\project\\KeepingMoreKidsQuiet.java"));
        JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager,
                diagnostics, null, null, compilationUnits);
        boolean success = task.call();

        System.out.println(success);
        if(!success)
            System.out.println(diagnostics.getDiagnostics());
        fileManager.close();
    }
}
StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);

线程“main”java.lang.NullPointerException在compile.execute.main(execute.java:17)中出现异常

你能告诉我如何解决这个错误吗?

共有1个答案

艾弘义
2023-03-14

ToolProvider.getSystemJavaCompiler():

此平台提供的编译器或null(如果未提供编译器)

 类似资料:
  • 我使用 我编写了一些以块结尾的jruby代码,在运行所有代码后,出现了NullPointerException。但代码以任何其他语句结尾,不会发生异常。 版本:1.7.19 在ARGV。java vars.get变量返回null,因为在BiVariableM中isReceiverIdentical返回falseap.java 在ISReceiver中,此方法只需将接收器与双变量的接收器usgin'

  • 我试图让两个不同的选择框同时工作,但是我在initialize方法中得到一个nullpointer错误。这有点奇怪,因为我正在尝试初始化选择框中的内容,但IDE却给了我一个nullpointer异常。 这是我的密码 它还告诉我,在处的主类中有一个错误 sample.fxml文件是一个不同的场景,基本上它只是一个开始场景,用户可以在两个不同的场景中选择要转到的场景

  • 我有一个RESTful API的Java项目,我使用Jackson/jersey来处理从支持AngularJS的web应用程序发送的传入JSON POST数据。 我们在1.8版(通过Maven)中使用jersey-json,因为这是我们公司推荐的版本。 接下来的课一切都很顺利 即使我们决定使用带有空构造函数和公共setter的私有成员,它仍然可以正常工作。 但是我们想让这个类是不可变的。经过一些研

  • 当使用阴影和最小化Jar时,我从阴影插件中得到一个NullpointerException。 在下面的示例中,我定义了两个依赖项;junit和Commons-lang3,在我的代码中,只使用了Commons-lang3-中的一个类。我对阴影留档的理解是未使用的类不会包含在阴影罐子中,所以我希望阴影罐子只包含我的类和StringUtils。 运行 时,我得到以下输出(mvn 干净包的完整输出 -X

  • 问题内容: 我正在上课的酒店管理软件上工作,我的代码遇到了一些问题。此时,我只是想将我在单独的类中创建的JPanel添加到主gui中。任何帮助将不胜感激。〜谢谢! 注意:错误发生在“ jpanel.add(“ Room”,room.getRoomPanel());“行上 代码:HotelSystem.java RoomSystem.java 问题答案: 您从未初始化 即使您确实对其进行了初始化,您

  • 我用Java做了一个游戏。它在Eclipse中工作得非常好。 我把它导出为一个可运行的罐子。当双击它的图标时,它不会打开。所以我试着从命令行运行JAR。 在试图检索图像资源的一行代码中,我遇到了一个NullPointerException错误(正如我所说,它在Eclipse中工作得很好)。这是发生错误的代码行: 我不知道出了什么问题。这是我项目的结构: 有什么想法吗?我开始绝望了。 非常感谢你的帮