javax-JavaCompiler类路径问题

javax-JavaCompiler类路径问题,java,classpath,Java,Classpath,我试图使用Javax.tools.javacompiler编译一些代码,但是每次编译器都不认为类使用的接口不是类路径的一部分 接口是调用编译器的应用程序的一部分,我尝试将.jar文件添加到javacompiler的类路径中,如下所示: optionList.add(System.getProperty("java.class.path") + ";" + f.getAbsolutePath()); JavaCompiler.CompilationTask task = compiler.get

我试图使用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.*
(我的包)将其添加到类路径中,但也没有成功


提前谢谢你的帮助

如果您是从自己的jar文件编译的,java.class.path应该已经包含您的jar文件,因此无需通过f.getAbsolutePath()再次添加它,这不会有什么坏处,但不是必需的。代码在我看来非常好。您确定在您正在编译的代码中导入了这个“BaseRoute”类吗?

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

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