声纳中的错误cobertura“太小的初始堆”

时间:2012-02-17 03:01:59

标签: maven sonarqube cobertura

我正在使用声纳和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_OPTS = -Xms512m)环境变量,但仍然收到错误。

有谁能告诉我出了什么问题,以及如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

您几乎觉得在-Xms参数中省略了'm':

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

检查其他环境变量的值以查看是否有任何与Java相关的定义(Windows上的'set'命令应该全部打印出来)不会受到影响 - 检查_JAVA_OPTS,MAVEN_OPTS等。

答案 1 :(得分:1)

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

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

请参阅http://docs.codehaus.org/display/SONAR/Code+coverage+plugins#Cobertura