增加 m2e Eclipse 插件中的堆大小
如何增加 m2e Eclipse 插件的堆大小?基本上,我尝试在 STS(SpringSource 的 Eclipse 版本)下使用 Cargo 和 Selenium 以及预安装的 m2e(流行的 Eclipse Maven 插件)运行自动化集成测试。
每当我运行时,
mvn verify
我都会收到臭名昭著的 java.lang.OutOfMemoryError: Java heap space... 63M/63M。所以我先做了一些研究。通过 MAVEN_OPTS、Eclipse.ini / STS.ini、运行配置,甚至通过 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] ------------------------------------------------------------------------
我不是在问如何增加独立 Maven 命令中的内存。我特别询问如何增加 m2e 的堆大小。
注意:默认情况下,m2e Eclipse 插件没有“验证”目标的快捷方式。您必须通过“运行配置”创建一个新的配置(仅供参考,它没有“参数”选项卡)。
How does one increase the heap size of the m2e Eclipse plugin? Basically, I'm trying to run an automated integration test using Cargo and Selenium under STS (SpringSource's version of Eclipse) with pre-installed m2e (the popular Maven plugin for Eclipse).
Whenever I run
mvn verify
I get the infamous java.lang.OutOfMemoryError: Java heap space... 63M/63M. So I made some research first. Increase the memory via MAVEN_OPTS, Eclipse.ini / STS.ini, Run Configurations, and even via the Maven plugins thru the pom.xml. Nothing changed. Same error and same amount of memory 63M/63M.
I know my project works. The POM is correct. Why? Because when I run the same command using a stand-alone Maven. The integration test with Selenium and Cargo works. In fact here's the latest output (3 minutes ago):
[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] ------------------------------------------------------------------------
I'm not asking how to increase the memory in stand-alone Maven command. I'm specifically asking how to increase the heap size for m2e.
Note: By default the m2e Eclipse plugin does not have shortcut to the "verify" goal. You have to create a new one via Run Configuration (which does not have an Args tab, fyi).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(5)
作为已接受答案的后续内容,当您在命令行上调用“mvn”时,您实际上是在调用 mvn.bat (或 mvn.sh)包装器脚本。正是这个包装器脚本在启动实际的 maven jvm 时使用 MAVEN_OPTS 环境变量。
另一方面,m2e 想要更多地控制 Maven jvm 的启动方式,因此它直接执行此操作,而无需包装器。这就是为什么您将内存设置直接添加到 m2e 运行/调试配置 VM 参数,而不是使用 MAVEN_OPTS。
如果您希望 m2e 将 MAVEN_OPTS 中已有的内容传递给 maven jvm,请在 Eclipse 的“编辑配置和启动”对话框中:
“运行方式”> “Maven Build”,点击“JRE”选项卡,输入VM args,例如
${env_var:MAVEN_OPTS}
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
使用 Maven 2 插件时,在 eclipse.ini 或 MAVEN_OPTS 环境变量中设置 java 选项不会对您的构建产生影响。您需要通过 Eclipse 中的“编辑配置和启动”对话框添加一些命令行参数。
“运行方式”> “Maven Build”,单击“JRE”选项卡,输入VM args,例如
-Xms128M -Xmx512M
When working with the Maven 2 plugin, setting java options in eclipse.ini or MAVEN_OPTS environment variable will have no effect on your build. You need to add some command line args via the "Edit Configuration and launch" dialog in Eclipse.
"Run As" > "Maven Build", click on the "JRE" tab, enter VM args e.g.
-Xms128M -Xmx512M