我想使用tomcat7-maven-plugin直接从maven启动嵌入式tomcat7实例。这工作正常,但是Tomcat启动似乎没有足够的内存。我怀疑我需要设置
-XX:MaxPermSize=256m
但是我不知道怎么做。
留档说应该在插件的“配置”部分使用“systemProperties”元素。但是,选项被指定为XML元素,需要如下所示:
<configuration>
<systemProperties>
<XX:MaxPermSize>256m</XX:MaxPermSize>
</systemProperties>
</configuration>
但这当然是不可能的,因为它破坏了XML(XX被解释为命名空间)。
当然我可以通过设置环境变量来解决这个问题
MAVEN_OPTS=-XX:MaxPermSize=256m
但是我更愿意只为嵌入式Tomcat增加它。有什么想法吗?
正如大多数人在上面的评论中所说,pom. xml中的属性没有效果。对我有用的是设置我的MAVEN_OPTS
MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"
或在cmd终端的Windows上:
set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=256m
对于mac/linux用户,只需在您的~/. profile(或类似的文件名)中添加导出语句。例如:
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"
并重新启动您的shell。
您可以通过这种方式设置属性
<configuration>
<systemProperties>
<JAVA_OPTS>-Xms256m -Xmx512m -XX:MaxPermSize=256m</JAVA_OPTS>
</systemProperties>
</configuration>
这个对我有用:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>...</version>
<configuration>
<container>...</container>
<configuration>
<type>standalone</type>
<home>...</home>
<properties>
<cargo.jvmargs>-Xmx4096m</cargo.jvmargs>
</properties>
</configuration>
<deployables>...</deployables>
</configuration>
</plugin>
它在一个新的JVM中启动了我的tomcat8,带有参数“-Xmx4096m”。