提问者:小点点

增加tomcat7 maven插件的内存?


我想使用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增加它。有什么想法吗?


共3个答案

匿名用户

正如大多数人在上面的评论中所说,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”。