我有一個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