JavaCompiler-设置已编译的类输出文件夹

JavaCompiler-设置已编译的类输出文件夹,java,eclipse,class,compiler-construction,Java,Eclipse,Class,Compiler Construction,我正在使用Eclipse,因此我的类文件存储在项目文件夹中的“bin”中。如何设置JavaCompiler将编译后的类输出到这个“bin”文件夹中 我的代码: File fRun = new File("FileToCompile"); JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); StandardJavaFileManager fileManager = compiler.getStandardFileManager

我正在使用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();
File fRun=新文件(“FileToCompile”);
JavaCompiler=ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager=compiler.getStandardFileManager(null,null,null);
Iterable compiledClass=cl.loadClass(“data.testcases.TestA”);
cRun=编译类;
}否则{
System.out.println(“编译错误”);
fileManager.close();

需要在compiler.getTask中传递编译器选项。选项是-d

需要在compiler.getTask中传递编译器选项。选项是-d。这不应该是答案而不是注释@AmitBhargava?Heh。我认为它不够详细,所以让它成为注释。我也会添加答案。我在哪里添加编译器选项?this将是第四个参数。现在,我还没有尝试过这个方法,但是下面的代码片段应该会有所帮助:final Iterable options=Arrays.asList(新字符串[]{“-d”,});其中是bin目录的绝对路径