【问题标题】:out of mempry for large number of tests. using maven and sonar大量测试内存不足。使用 Maven 和声纳
【发布时间】:2011-08-15 07:29:03
【问题描述】:

我正在使用声纳 2.6 并在运行命令时:

mvn site cobertura:cobertura

我收到以下错误...

Tests run: 1397, Failures: 10, Errors: 117, Skipped: 0

Flushing results...
Flushing results done
Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974
)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)

    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at java.util.ArrayList.readObject(ArrayList.java:593)
    at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974
)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)

    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:19
47)
    at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:48
0)
    at net.sourceforge.cobertura.coveragedata.LineData.readObject(LineData.j
ava:525)
    at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974
)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)

    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at java.util.HashMap.readObject(HashMap.java:1030)
    at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974
)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)

    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
753)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
[ERROR] There are test failures.

我的机器有 32 位环境和 3.2gb 内存的 win-XP。 PS 我已经将环境变量 MAVEN_OPTS 设置为 512M。 因为我无法将其设置为任何更高的值,所以我得到了

Unable to load JVM error.

【问题讨论】:

标签: maven out-of-memory sonarqube


【解决方案1】:

有几个属性可供查看。除了 cobertura.maxmen(根据上面的Raghuram's pointer,查看surefire plugin 的配置。确保forkMode 不是never - 而是实验。

jvm 属性的描述中注意“JVM 设置不是从 MAVEN_OPTS 继承的”。请尝试在此处设置内存选项。

【讨论】:

    猜你喜欢
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    相关资源
    最近更新 更多