我正在使用scalaxb从XSD生成Scala代码。 (特别是我正在使用maven scalaxb插件。)代码生成阶段顺利运行,并且眼睛注视它们,生成的scala文件看起来很好。但是当我尝试编译时,我得到了堆栈溢出:
[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 :(得分:5)
因此,根据OP,通过将-Xss2048k
放入jvmArg
来解决问题。
答案 1 :(得分:0)
对于sbt和复杂的xsd,我必须在sbt compile
期间使用以下命令将堆栈大小增加到4M:
sbt -J-Xss4M compile