Увеличить память плагина tomcat7 maven?

Я хочу запустить встроенный экземпляр tomcat7 непосредственно из maven с помощью плагина tomcat7-maven-plugin. Это работает нормально, но у запущенного Tomcat недостаточно памяти. Я подозреваю, что мне нужно будет установить

-XX:MaxPermSize=256m

но я не могу понять, как это сделать.

В документации сказано, что в разделе "конфигурация" плагина следует использовать элемент "systemProperties". Однако параметры указываются как элементы XML и должны выглядеть следующим образом:

<configuration>
  <systemProperties>
    <XX:MaxPermSize>256m</XX:MaxPermSize>
  </systemProperties>
</configuration>

Но это, конечно, невозможно, поскольку это нарушает XML (XX интерпретируется как пространство имен).

Конечно, я мог бы обойти эту проблему, установив переменную среды

MAVEN_OPTS=-XX:MaxPermSize=256m

но я бы предпочел только увеличить его для встроенного Tomcat. Есть идеи, как это сделать?

3 ответа

Решение

Вы можете установить свойства таким образом

<configuration>
  <systemProperties>
    <JAVA_OPTS>-Xms256m -Xmx512m -XX:MaxPermSize=256m</JAVA_OPTS>
  </systemProperties>
</configuration>

Как сказано в комментариях выше, свойства в pom.xml не имеют никакого эффекта. То, что работало для меня, устанавливало мой MAVEN_OPTS

MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"

Или на Windows в терминале cmd:

set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=256m

Для пользователей Mac/ Linux просто добавьте оператор экспорта в ваш ~/.profile (или аналогичное имя файла). Например:

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"

И перезапустите свою оболочку.

Этот работал для меня:

<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>

Он запускает мой tomcat8 в новой JVM с аргументом "-Xmx4096m".

Другие вопросы по тегам