【问题标题】:javax JavaCompiler classpath issuesjavax JavaCompiler 类路径问题
【发布时间】:2016-03-18 19:02:19
【问题描述】:

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

接口是调用编译器的应用程序的一部分,我尝试将 .jar 文件添加到 javacompiler 的类路径中:

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 {
                          ^

还有一堆由于找不到超类而导致的东西。

我已确保检查文件“f”是否在调试模式下正确定义,所以这不是问题。我也尝试通过io.asecta.restdb.*(我的包)将它添加到类路径中,但这也没有用。

提前感谢您的帮助。

【问题讨论】:

  • Define "尝试通过io.asecta.restdb.*(我的包)将其添加到类路径中"。

标签: java classpath


【解决方案1】:

如果你是从你自己的 jar 文件编译,java.class.path 应该已经包含你的 jar 文件,所以不需要通过 f.getAbsolutePath() 再次添加它,它没有伤害但不是必要的。代码对我来说看起来非常好。您确定在您正在编译的代码中导入了这个“BaseRoute”类吗?

【讨论】:

    猜你喜欢
    • 2016-01-26
    • 2023-03-16
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多