声纳"Too small initial heap"中的错误



我使用声纳和cobertura(用于代码覆盖)。我对自己面临的问题感到困惑。如果我运行

mvn sonar:sonar

我在执行时看到以下错误

[INFO]
[INFO] <<< cobertura-maven-plugin:2.5.1:cobertura (default-cli) @ hss-core <<<
[INFO]
[INFO] --- cobertura-maven-plugin:2.5.1:cobertura (default-cli) @ hss-core ---
[INFO] Error occurred during initialization of VM
Too small initial heap
[ERROR] Error in Cobertura Report generation: Unable to generate Cobertura Report for project.
org.apache.maven.plugin.MojoExecutionException: Unable to generate Cobertura Report for project.
        at org.codehaus.mojo.cobertura.tasks.ReportTask.execute(ReportTask.java:93) 

如果我使用以下直接运行cobertura插件

mvn cobertura:cobertura

如上所述没有错误,并显示以下输出,我认为这是预期的输出。

[INFO]
[INFO] <<< cobertura-maven-plugin:2.5.1:cobertura (default-cli) @ hss-core <<<
[INFO]
[INFO] --- cobertura-maven-plugin:2.5.1:cobertura (default-cli) @ hss-core ---
[INFO] Cobertura 1.9.4.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
Cobertura: Loaded information on 39 classes.
Report time: 1035ms

我已经设置了MAVEN_OPTS(MAVEN_OTS=-Xms512m)环境变量,但仍然得到错误。

有人能告诉我出了什么问题,以及如何解决吗?

几乎感觉到您在-Xms参数中省略了"m"

$java -Xms512 -version
Error occurred during initialization of VM
Too small initial heap

检查其他环境变量的值以查看是否定义了任何与Java相关的内容(Windows上的"设置"命令应将其全部打印出来)-检查_Java_OPTS、MAVEN_OPTS等。

Sonar Cobertura插件有一个特定的参数来增加分配给Cobertur进程的内存:Sonar.Cobertura.maxem

例如,您可以运行:mvn-sonar:sonar-Dsonar.cobertura.maxmem=512m

请参阅http://docs.codehaus.org/display/SONAR/Code+覆盖范围+插件#Cobertura

最新更新