JavaCompiler类路径
我尝试使用JavaCompiler来编译源代码JavaCompiler类路径,java,compiler-construction,path,Java,Compiler Construction,Path,我尝试使用JavaCompiler来编译源代码 class A{int i;}; class B extends A{i = 5;}; 问题是即使它们在同一个文件夹中,当编译类B时,JavaCompiler仍然找不到类A 所以,我想知道问题是我没有将文件夹的路径添加到类路径 我不知道如何在java代码中实现它,所以没有尝试过 谢谢您的帮助。您需要为编译任务设置类路径 请看下面的答案: 将类路径扩展到当前目录 您可以通过-classpath选项或classpath变量来实现这一点 -cla
class A{int i;};
class B extends A{i = 5;};
问题是即使它们在同一个文件夹中,当编译类B时,JavaCompiler仍然找不到类A
所以,我想知道问题是我没有将文件夹的路径添加到类路径
我不知道如何在java代码中实现它,所以没有尝试过
谢谢您的帮助。您需要为编译任务设置类路径 请看下面的答案:
-claspath=.
或
另一种观点是,使用ASM、JavaAssist、SERP或任何其他工具等著名工具直接生成字节码。。。。。 这可能是避免以下情况的一个非常好的方法: -路径问题 -为了更好地控制流程(如果您有javac错误,您将不得不解析流以将thme提升到应用程序中) -提高整个过程的性能 但它增加了一些复杂性。。。
像通常一样,这是一种权衡他可能指的是类
JavaCompiler
。嗯,不确定,但可能是因为您的代码有错误。您不会编写类似于类B扩展A{i=5;}
,而是使用init块(或者更好的构造函数)来设置成员值:类B扩展A{i=5;}代码>“我不知道用java代码怎么做,所以没试过。”这并不是不阅读优秀手册的借口-1我打错了。。。aioobe给出了正确的解决方案。我应该向java编译器添加-cp参数。
CLASSPATH=.