相关疑难解决方法(0)

osx maven运行测试异常:从线程"main"中的UncaughtExceptionHandler抛出java.lang.OutOfMemoryError

我一直在尝试在mac上运行一个在linux下工作的maven项目.当mvn clean install 它调用 它运行一部分测试,然后我收到以下错误:

线程"main"中的异常异常:从线程"main"中的UncaughtExceptionHandler抛出java.lang.OutOfMemoryError

我已经看到许多关于Perm gen error的问题已经通过添加MAVEN_OPTS到环境变量来修复.现在我的系统上有以下环境变量:

MAVEN_OPTS =" - Xmx4096m -XX:MaxPermSize = 4096m"

通话时mvn help:system我可以看到配置中显示的这些选项.

该项目使用Robolectric进行测试,并且(在大多数情况下但并非总是如此)在抛出异常之前打印以下行:

[DEBUG]***********************GC'ed SdkEnvironment重复使用!

[ERROR]无法在org.robolectric.bytecode.AsmInstrumentingClassLoader@300abe53中加载org.robolectric.internal.ParallelUniverse

在活动监视器中,我可以看到一个java进程在我开始测试时生效.在抛出异常之前,它的内存使用量达到1.4~1.5GB.

我还应该做些什么才能让它发挥作用.谢谢你的帮助!

将内存选项添加到确定的fire插件后编辑:

           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.16</version>
               <configuration>
                   <argLine>-Xmx2048m -XX:MaxPermSize=2048m</argLine>
               </configuration>
           </plugin>
Run Code Online (Sandbox Code Playgroud)

并且运行mvn clean install -e -X我得到了以下堆栈跟踪:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project android: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test failed: There was an error in the forked process
[ERROR] java.lang.OutOfMemoryError: PermGen space
[ERROR] at java.lang.ClassLoader.defineClass1(Native Method) …
Run Code Online (Sandbox Code Playgroud)

java macos android maven robolectric

11
推荐指数
1
解决办法
2万
查看次数

Maven Cobertura OutOfMemoryError

我正在使用Maven站点:运行以生成cobertura代码覆盖...

以下是我对cobertura的pom.xml配置:

<reporting>
    ...
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.3</version>
        </plugin>
    </plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)

但是我在网站的末尾得到OutOfMemoryError:运行.请建议如何摆脱这个错误.(我已经尝试了所有这些-Xmx,-XX选项...)

Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space
        at sun.reflect.GeneratedSerializationConstructorAccessor74.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:924)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1737)
        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.GeneratedMethodAccessor347.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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:1753)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
        at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:480)
        at net.sourceforge.cobertura.coveragedata.CoverageDataContainer.readObject(CoverageDataContainer.java:373)
        at sun.reflect.GeneratedMethodAccessor348.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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:1753)
        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.GeneratedMethodAccessor347.invoke(Unknown Source)
        at …
Run Code Online (Sandbox Code Playgroud)

maven-2 cobertura out-of-memory maven

9
推荐指数
1
解决办法
7587
查看次数

两个Web应用程序之间共享实例时Maven Jetty插件OutOfMemoryError

我正在使用maven jetty插件来运行我的两个Web应用程序.一个Web应用程序是spring mvc UI,另一个是RESTful Web应用程序.当我运行两个单独的mvn jetty时,我能够让两个Web应用程序进行通信:运行实例并分配不同的端口.我已使用下面的maven pom.xml配置使用相同的端口在同一个jetty实例中成功部署.我最终得到一个ava.lang.OutOfMemoryError:PermGen空间错误.对此最好的解决方法是什么?

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>7.6.8.v20121106</version>
    <configuration>
        <jvmArgs>-Xmx2024m -Xms2024m</jvmArgs>
        <scanIntervalSeconds>10</scanIntervalSeconds>
        <webApp>
            <contextPath>/</contextPath>
        </webApp>
        <contextHandlers>           
            <contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
                <war>../../api/target/main-api.war</war>
                <contextPath>/test</contextPath>
            </contextHandler>
        </contextHandlers> 
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

java jetty maven

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

maven ×3

java ×2

android ×1

cobertura ×1

jetty ×1

macos ×1

maven-2 ×1

out-of-memory ×1

robolectric ×1