处理需要编译多个源文件(.java)并在运行时生成相应的类文件( .class)的应用程序,这发生在应用程序启动时。
目前使用以下代码进行类生成:
int errorCode = com.sun.tools.javac.Main.compile(new String[] {
"-cp", classPath,
"-d", pOutputPath,
srcFile.getAbsolutePath() },new PrintWriter(out));
每个 *.java 文件几乎都只有大约 40 行代码和一个方法。但是上面给定的代码编译时间大约是每个文件2 秒。
应用程序有超过 1000 个或有时 2000 个 java 文件。因此应用程序启动时间超过 2000 或 4000 秒,这是不可取的。
有什么选择com.sun.tools.javac.Main.compile
吗?
还是一种更好或更快的运行时编译和类文件生成方式?
我不能使用多线程,因为环境是单线程的。