javax JavaCompiler类路径问题

时间:2015-12-13 03:35:53

标签: java classpath

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

接口是调用编译器的应用程序的一部分,我尝试将.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.*(我的包)将它添加到类路径中,但这也没有用。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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