我尝试用maven在tomcat上部署一场战争。
当我使用maven目标tomcat7: run
运行时。
Tomcat似乎启动maven连接到数据库,然后我有权发生错误:
java.lang.OutOfMemoryError: PermGen space
我使用m2e,eclipse和tomcat。 我试图在POM.xml中添加:
<configuration>
<systemProperties>
<JAVA_OPTS>-Xms256m -Xmx512m -XX:MaxPermSize=256m</JAVA_OPTS>
</systemProperties>
</configuration>
在maven的JRE参数中:
-Xms256m -Xmx512m
但没有任何事情发生..
你知道吗?解决这个错误的另一种方法是什么?答案 0 :(得分:2)
在配置文件中添加这些参数 -
MAVEN_OPTS=-Xms512m -Xmx1024m
或者,如果直接从命令行运行,可以使用命令提示符设置它们,如 -
set MAVEN_OPTS=-Xms512m -Xmx1024m
答案 1 :(得分:2)
如果使用eclipse IDE而不是使用它,则可以更改VM参数
double click on the server > open Lunch Configuration > Arguments > VM Arguments
并在VM Arguments字段中的两行后面附加
-Xms256m -Xmx1024m -XX:+DisableExplicitGC -Dcom.sun.management.jmxremote
-XX:PermSize=256m -XX:MaxPermSize=512m
它一定会解决你的问题
答案 2 :(得分:0)
如果您在命令提示符下工作: http://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryError
如果您在IDE中工作: 服务器> VM参数并添加以下内容
-Xmx2048m -XX:MaxPermSize = 1024m