在java代码中实现动态编译java文件

在java代码中实现动态编译java文件传进去一个路径,然后将java文件编译成class文件,并放到指定的路径下

import javax.tools.*;
import java.io.*;
/**
 * @author hardneedl
 */
final public class MyCompile {

    /**
     * @param args 命令行参数只有1个,即待编译的源代码文件的绝对路径
     * @throws FileNotFoundException
     */
    public static void main(String... args) throws FileNotFoundException {

        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        int r = compiler.run(null,null,null,args[0]);
        System.out.println(r == 0? "成功":"失败");
    }

}

追问

run方法中最后一个参数是什么

追答

待编译的源代码文件的绝对路径

追问

那编译后的文件也在这个路径下放着么

温馨提示:答案为网友推荐,仅供参考
相似回答