【发布时间】:2023-03-12 19:51:01
【问题描述】:
我使用的是 Eclipse,因此我的类文件存储在项目文件夹的“bin”中。如何设置 JavaCompiler 以将编译后的类输出到此“bin”文件夹中?
我的代码:
File fRun = new File("FileToCompile");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
Iterable<? extends JavaFileObject> compUnits = fileManager.getJavaFileObjects(fRun);
Boolean compRes = compiler.getTask(null, fileManager, null, null, null, compUnits).call();
if(compRes == true){
System.out.println("Compilation has succeeded");
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Class<?> compiledClass = cl.loadClass("data.testcases.TestA");
cRun = compiledClass;
}else{
System.out.println("Compilation error");
fileManager.close();
【问题讨论】:
-
需要在 compiler.getTask 中传递你的编译器选项。选项是 -d
-
这不应该是答案而不是评论,@AmitBhargava?
-
嘿。觉得写的不够详细,就给个评论吧。我也会添加一个答案。
标签: java eclipse class compiler-construction