增加m2e Eclipse插件中的堆大小

kra*_*ams 15 eclipse memory heap maven m2e

如何增加m2e Eclipse插件的堆大小?基本上,我正在尝试使用预先安装的m2e(Eclipse的流行Maven插件)在STS(SpringSource的Eclipse版本)下使用Cargo和Selenium进行自动集成测试.

每当我跑步

mvn verify
Run Code Online (Sandbox Code Playgroud)

我得到臭名昭着的java.lang.OutOfMemoryError:Java堆空间... 63M/63M.所以我先做了一些研究.通过MAVEN_OPTS,Eclipse.ini/STS.ini,Run Configurations,甚至通过pom.xml的Maven插件增加内存.没有改变.相同的错误和相同的内存量63M/63M.

我知道我的项目有效.POM是正确的.为什么?因为当我使用独立的Maven运行相同的命令时.与Selenium和Cargo的集成测试工作.事实上这是最新的输出(3分钟前):

[INFO] [beddedLocalContainer] Jetty 8.x Embedded is stopped
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 minutes 24 seconds
[INFO] Finished at: Wed Oct 26 14:08:16 CST 2011
[INFO] Final Memory: 70M/149M
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我不是在询问如何增加独立Maven命令的内存.我特别询问如何增加m2e的堆大小.

注意:默认情况下,m2e Eclipse插件没有"验证"目标的快捷方式.您必须通过运行配置(没有Args选项卡,fyi)创建一个新的.

cra*_*asp 34

使用Maven 2插件时,在eclipse.ini或MAVEN_OPTS环境变量中设置java选项对您的构建没有任何影响.您需要通过Eclipse中的"编辑配置和启动"对话框添加一些命令行参数.

"运行方式">"Maven Build",单击"JRE"选项卡,输入VM args例如

-Xms128M -Xmx512M

  • 是的,您可以通过Eclipse> Preferences> Maven> Installations>"嵌入式安装的全局设置"添加它们.在那里,您可以指向Eclipse外部的maven设置. (4认同)

小智 10

作为已经接受的答案的后续,当您在命令行上调用"mvn"时,您实际上是在调用mvn.bat(或mvn.sh)包装器脚本.这个包装器脚本在启动实际的maven jvm时使用MAVEN_OPTS env变量.

另一方面,m2e想要更多地控制maven jvm如何启动,所以它直接在没有包装器的情况下完成.这就是您将内存设置直接添加到m2e运行/调试配置VM参数而不是使用MAVEN_OPTS的原因.

如果您希望m2e将您在MAVEN_OPTS中已有的内容传递给maven jvm,请在Eclipse中的"编辑配置和启动"对话框中:

"运行方式">"Maven Build",单击"JRE"选项卡,输入VM args例如

${env_var:MAVEN_OPTS}
Run Code Online (Sandbox Code Playgroud)


Pet*_*ete 0

您是否尝试过MAVEN_OPTS为运行配置设置环境变量?

MAVEN_OPTS="-Xmx768M -XX:MaxPermSize=128m" 
Run Code Online (Sandbox Code Playgroud)

如果在运行配置中设置系统环境变量没有帮助,您可能必须编辑系统环境变量。请参阅此处此处