作者:重庆制造漫画社 | 2023-08-28 19:07
我有一个Java Maven项目,包含大约800个源文件(一些由javacc/JTB生成),用javac编译需要25分钟.
当我将pom.xml更改为使用Eclipse编译器时,编译大约需要30秒.
有关为什么javac(1.5)运行如此缓慢的任何建议?(我不想永久切换到Eclipse编译器,因为Maven的插件似乎不仅仅是一个小错误.)
我有一个测试用例,很容易重现问题.以下代码在默认包中生成许多源文件.如果您尝试使用javac编译ImplementingClass.java,它似乎会暂停很长时间.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class CodeGenerator
{
private final static String PATH = System.getProperty("java.io.tmpdir");
private final static int NUM_TYPES = 1000;
public static void main(String[] args) throws FileNotFoundException
{
PrintStream interfacePs = new PrintStream(PATH + File.separator + "Interface.java");
PrintStream abstractClassPs = new PrintStream(PATH + File.separator + "AbstractClass.java");
PrintStream implementingClassPs = new PrintStream(PATH + File.separator + "ImplementingClass.java");
interfacePs.println("public interface Interface {");
abstractClassPs.println("public abstract class AbstractClass implements Interface {");
implementingClassPs.println("public class ImplementingClass extends AbstractClass