gpt4 book ai didi

javax JavaCompiler 类路径问题

转载 作者:太空宇宙 更新时间:2023-11-04 13:07:59 27 4
gpt4 key购买 nike

我尝试使用 Javax.tools.javacompiler 编译一些代码,但是每次编译器都不认为该类使用的接口(interface)不是类路径的一部分。

这些接口(interface)是调用编译器的应用程序的一部分,我尝试将 .jar 文件添加到 java 编译器的类路径中,如下所示:

optionList.add(System.getProperty("java.class.path") + ";" + f.getAbsolutePath());

JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, optionList, null,
compilationUnits);

我收到的错误如下:

plugins\Ping.java:6: error: cannot find symbol
public class Ping extends BaseRoute {
^

以及由于找不到父类(super class)而导致的更多问题。

我已确保检查文件“f”是否在 Debug模式下正确定义,因此这不是问题。我还尝试通过 io.aecta.restdb.* (我的包)将其添加到类路径中,但这也不起作用。

预先感谢您的帮助。

最佳答案

如果您从自己的 jar 文件进行编译,则 java.class.path 应该已经包含您的 jar 文件,因此无需通过 f.getAbsolutePath() 再次添加它,这不会造成伤害,但也没有必要。该代码对我来说看起来绝对没问题。您确定在您正在编译的代码中导入了这个“BaseRoute”类吗?

关于javax JavaCompiler 类路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34247712/

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