当我运行Maven测试时,发生java.lang.OutOfMemoryError。我在Google上搜索了解决方案,并尝试了export MAVEN_OPTS=-Xmx1024m
,但没有成功。任何人都知道此问题的其他解决方案,顺便说一句,我正在使用Maven 3.0
提前致谢
运行“ mvn test -e”时,将错误消息粘贴到此处
测试失败: 警告(junit.framework.TestSuite $ 1) testDefaultPigJob_1(com.snda.dw.pig.impl.DefaultPigJobLocalTest) testDefaultPigJob_2(com.snda.dw.pig.impl.DefaultPigJobLocalTest) 测试运行:11,失败:3,错误:0,跳过:0 10/11/01 13:37:18 INFO executeengine.HExecutionEngine:在以下位置连接到hadoop文件 系统:file:/// [INFO] ------------- -------------------------------------------------- --------- [INFO]建立失败 [INFO] --------------------------------- --------------------------------------- [INFO]总时间:30.063s [INFO]完成时间:2010年11月1日星期一11:37:18 [信息]最终内存:3M / 6M [INFO] ----------------------------------------------- ------------------------- [错误]无法执行目标org.apache.maven.plugins:maven-surefire-plugin:2。 项目dw.pig上的5:test(默认测试):有测试失败。 [错误] [错误]请参阅 各个测试结果的E:\ Code \ Java \ workspace \ dw.pig \ target \ surefire-reports 。 [错误]-> [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:无法 在项目 dw 上执行目标rg.apache.maven.plugins:maven-surefire-plugin:2.5:test(默认测试)。猪:有测试失败。 请参阅E:\ Code \ Java \ workspace \ dw.pig \ target \ surefire-reports以获取 单独的测试结果。 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:199)中的 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:148) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:140) 在org.apache.maven.lifecycle org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje ct(LifecycleModuleBuilder.java:59) 上的.internal.LifecycleModuleBuilder.buildProje ct(LifecycleModuleBuilder.java:84)在org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu ild(LifecycleStarter.java:183) 位于org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:314) 在org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu eStarter.java:161) 位于org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151) 位于org.apache.maven.cli.MavenCli.execute(MavenCli.java:445) 位于org.apache.maven.cli .org.apache.maven.cli.MavenCli.main(MavenCli.java:132)的.MavenCli.doMain(MavenCli.java:168) 在sun.reflect.NativeMethodAccessorImpl.invoke0 (本机方法) 处在sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39 ) 在 org.codehaus.plexus.classworlds.launcher 上的java.lang.reflect.Method.invoke(Method.java:597) 在sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAcces sorImpl.java:25).Launcher.launchEnhanced(劳恩 cher.java:290) 在org.codehaus.plexus.classworlds.launcher .Launcher.launch(Launcher.jav 一:230) 在org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(LA uncher.java:409) 在org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java : 352) 由以下原因引起:org.apache.maven.plugin.MojoFailureException:存在测试失败 。 请参阅E:\ Code \ Java \ workspace \ dw.pig \ target \ surefire-reports以获取 单独的测试结果。 在org.apache.maven.plugin.surefire.SurefirePlugin.execute(SurefirePlugi n.java:629) 在org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(默认 BuildPluginManager.java:107) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor .java:195) ...还有19个 [错误] [错误]使用-X开关重新运行Maven以启用完整的调试日志记录。 [错误] [错误]有关错误和可能的解决方案的更多信息,请查阅 以下文章: [错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureExc
当我运行Maven测试时,发生java.lang.OutOfMemoryError。我在Google上搜索了解决方案,并尝试导出MAVEN_OPTS = -Xmx1024m,但是它不起作用。
使用设置Xmx
选项MAVEN_OPTS
确实有效,它确实配置了用于启动Maven的JVM。话虽如此,默认情况下,maven-surefire-plugin 派生了一个新的JVM,MAVEN_OPTS
因此您的未通过。
要配置由maven-surefire-plugin使用的JVM的大小,您必须:
在后一种情况下,如下所示:
<configuration>
<argLine>-Xmx1024m</argLine>
</configuration>
但是我不得不说,我倾向于在这里同意Stephen的观点,您的一项测试很可能出了点问题,而且我不确定提供更多的内存是“解决”(隐藏?)问题的正确解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句