问题:
maven项目在pom.xml配置tomcat插件后启动,运行时报内存溢出。
tomcat插件配置如下:
<code class="hljs xml has-numbering"><span class="hljs-tag"><<span class="hljs-title">plugin</span>></span> <span class="hljs-tag"><<span class="hljs-title">groupId</span>></span>org.apache.tomcat.maven<span class="hljs-tag"></<span class="hljs-title">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-title">artifactId</span>></span>tomcat7-maven-plugin<span class="hljs-tag"></<span class="hljs-title">artifactId</span>></span> <span class="hljs-tag"><<span class="hljs-title">version</span>></span>${tomcat.version}<span class="hljs-tag"></<span class="hljs-title">version</span>></span> <span class="hljs-tag"><<span class="hljs-title">configuration</span>></span> <span class="hljs-tag"><<span class="hljs-title">port</span>></span>${webserver.port}<span class="hljs-tag"></<span class="hljs-title">port</span>></span> <span class="hljs-tag"><<span class="hljs-title">path</span>></span>/${project.artifactId}<span class="hljs-tag"></<span class="hljs-title">path</span>></span> <span class="hljs-tag"><<span class="hljs-title">uriEncoding</span>></span>${project.build.sourceEncoding}<span class="hljs-tag"></<span class="hljs-title">uriEncoding</span>></span> <span class="hljs-tag"></<span class="hljs-title">configuration</span>></span> <span class="hljs-tag"></<span class="hljs-title">plugin</span>></span></code>
错误如下:
Java.lang.OutOfMemoryError:PermGen space
原因:
java虚拟机装载类的空间不够,永久内存超出,主要是因为项目功能增加后,加载的jar或class过多造成的。
解决方案:
增加jvm内存,在maven的run configuration中增加如下配置,扩大初始化内存。
-Xms1024M -Xmx2048M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=512M
通过jvisualvm.exe我们可以看到初始化的内存
文章来源:http://blog.csdn.net/shiyong1949/article/details/52536689
根据需要可以调整初始化内存的大小。