2011-09-20 133 views
3

我使用scalaxb以產生從XSD Scala代碼期間堆棧溢出。 (特別是我使用maven的scalaxb插件。)代碼生成階段運行順利,並目測它們,生成的文件階好看。scalaxb生成的代碼導致編譯

[ERROR] error: java.lang.StackOverflowError 
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:754) 
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113) 
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:845) 
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113) 
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:837) 
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113) 
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821) 
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113) 
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821) 
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113) 
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821) 
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113) 

... 

[INFO] at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:311) 
[INFO] at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:294) 
[INFO] at scala.tools.nsc.transform.ExplicitOuter$Phase.run(ExplicitOuter.scala:539) 
[INFO] at scala.tools.nsc.Global$Run.compileSources(Global.scala:949) 
[INFO] at scala.tools.nsc.Global$Run.compile(Global.scala:1034) 
[INFO] at scala.tools.nsc.Main$.process(Main.scala:106) 
[INFO] at scala.tools.nsc.Main$.main(Main.scala:123) 
[INFO] at scala.tools.nsc.Main.main(Main.scala) 
[INFO] ... 6 more 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 

我使用的XSD已經過測試,並與JAXB工作:但是,當我嘗試編譯我在得到一個堆棧溢出。

的Scala版本是2.9.0-1,scalaxb是0.6.2。

+0

這應該是報scalaxb項目或斯卡拉。沒有足夠的信息來回答這是一個非常有用的問題。 –

+1

喜尤金 - 原來並不是一個真正的問題。編譯器只需要爲我特定的xsd生成的代碼提供大量的堆棧空間。 ' -Xss2048k'解決了我的問題。我會回答自己的問題或將其標記爲scalaxb,但StackOverflow告訴我我缺乏聲譽。 – Jim

+0

我把你的答案作爲社區維基發佈。 –

回答

5

因此,根據OP,這個問題是通過將-Xss2048kjvmArg解決。