我有一个Java项目,它包含许多非常大的源文件,并且它在Eclipse中编译良好,但它不会在命令行或Ant中使用javac进行编译。在Eclipse中进行编译,但不能在命令行中使用Javac进行编译:StackOverFlow
当我尝试从命令用javac(或使用Ant)我得到的StackOverflow异常编译:
[javac] java.lang.StackOverflowError
[javac] at com.sun.tools.javac.jvm.Gen.genCond(Gen.java:786)
[javac] at com.sun.tools.javac.jvm.Gen.genCond(Gen.java:739)
[javac] at com.sun.tools.javac.jvm.Gen.visitBinary(Gen.java:1841)
[javac] at com.sun.tools.javac.tree.Tree$Binary.accept(Tree.java:926)
[javac] at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:806)
[javac] at com.sun.tools.javac.jvm.Gen.genCond(Gen.java:786)
...
...
...
我试图通过一些参数传递给JVM如-Xss, - Xmx,-Xoss等都在命令行和Ant javac任务中,但我总是得到相同的错误。
从我读过的看来,Eclipse IDE有一个与Sun JDK不同的编译器。有没有办法让JDK以类似于Eclipse的方式编译?
感谢, 燕姿
这很奇怪,但我发现我可以用JDK 1.6编译代码。
这并不能解决我的问题,因为代码被另一个项目用作lib,它抱怨并编译了版本号,因为JDK 1.5是目前的项目标准(并且将持续几个月)。
有谁知道1.6中有什么变化,是否可以通过标志将这些更改应用到1.5?
你可以使用eclipse编译器从ant(Google for it)。 – 2010-06-24 09:08:59
我没有想到这一点,谢谢! 链接这里:http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm – Stefg 2010-06-24 13:15:08