gpt4 book ai didi

java - Java 编译器 API 不起作用我一直无法解析类 javax.tools.JavaCompilerTool 和其他类似的类

转载 作者:行者123 更新时间:2023-12-02 08:13:24 25 4
gpt4 key购买 nike

我读到 Java 6 有一个编译器 api,它允许您从其他 java 代码编译 java 文件。但是,每当我尝试导入任何此类类(例如 javax.tools.JavaCompilerTool)时,我都会得到

unable to resolve class javax.tools.JavaCompilerTool

我搜索了jdk1.6.0_26安装目录下的所有jar文件,没有发现javax.tools包中的任何jar文件中引用了JavaCompilerTool。

我的理解是这个功能是在 1.6 JDK 中的。我正在使用\bin 目录中的 java.exe 运行我的应用程序,而不是\jre\bin 目录,但无论如何都不起作用。

我错过了什么?怎么找不到类。

最佳答案

您需要使用javax.tools.JavaCompiler类(class)。看看javadocs供使用。

示例:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromFiles(Arrays.asList(new File("HelloWorld.java")));
compiler.getTask(null, fileManager, null, null, null, compilationUnits).call();
fileManager.close();

关于java - Java 编译器 API 不起作用我一直无法解析类 javax.tools.JavaCompilerTool 和其他类似的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6930255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com