我在Maven项目中发现了一个与Scala-maven-plugin相关的bug。我有一个非常长的功能序列(为了机器学习的目的),我手工编码(74个元素)。
我在序列中添加了一个元素,它不再编译了。如果我注释这个序列中的任何元素,元素的数量就会减少,并且会编译。
有关更多信息,以下是我编译的最后输出:
[ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.3.1:compile (default) on project SecretProject: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 240 (Exit value: 240) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException加上StackTrace刚开始的时候:
[INFO] Compiling 13 source files to /home/belka/Bureau/SecretProject/target/classes at 1513759339071
[ERROR] error: java.lang.StackOverflowError
[INFO] at scala.reflect.internal.TreeInfo.isSelfConstrCall(TreeInfo.scala:296)
[INFO] at scala.reflect.internal.TreeInfo.isSelfOrSuperConstrCall(TreeInfo.scala:344)
[INFO] at scala.reflect.internal.Trees$UnderConstructionTransformer$class.transform(Trees.scala:1701)
[INFO] at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:291)
[INFO] at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:457)
[INFO] at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:352)
[INFO] at scala.reflect.internal.Trees$class.itransform(Trees.scala:1345)(修改后的项目名称)
Scala-maven-plugin上遇到类似的问题?Scala-maven-plugin解析器(在编译器中)对序列解析有任何硬限制吗?编辑:
我正在添加包含我的pom.xml片段的Scala-maven-plugin片段:
<plugin>
<!-- see http://davidb.github.com/scala-maven-plugin -->
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
<configuration>
<args>
<arg>-dependencyfile</arg>
<arg>${project.build.directory}/.scala_dependencies</arg>
</args>
<jvmArgs>
<jvmArg>-Xms512m</jvmArg>
<jvmArg>-Xmx4096m</jvmArg>
</jvmArgs>
</configuration>
</execution>
</executions>
</plugin>发布于 2017-12-20 13:40:38
你可以:
-Xss运行scalac的jvm的最大堆栈大小。
-Xss4m -Xms512m -Xmx4096m我猜IDEA已经增加了默认的最大堆栈大小(64位VM中的iirc 1024k )。
发布于 2017-12-20 09:18:51
按顺序回答你的问题:
https://stackoverflow.com/questions/47902117
复制相似问题