web-dev-qa-db-fra.com

Augmenter la mémoire du plugin Tomcat7 maven?

Je veux démarrer une instance Tomcat7 intégrée directement à partir de maven en utilisant le plugin Tomcat7-maven. Cela fonctionne bien, mais le Tomcat démarré ne semble pas avoir suffisamment de mémoire. Je soupçonne que je devrais régler

-XX:MaxPermSize=256m

mais je ne sais pas comment le faire.

La documentation indique que l'on devrait utiliser l'élément "systemProperties" dans la section "configuration" du plugin. Cependant, les options sont spécifiées en tant qu'éléments XML et devraient ressembler à ceci:

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

Mais ce n'est bien sûr pas possible car il casse le XML (XX est interprété comme un espace de noms).

Bien sûr, je pouvais contourner ce problème en définissant la variable d'environnement

MAVEN_OPTS=-XX:MaxPermSize=256m

mais je préférerais l'augmenter uniquement pour le Tomcat intégré. Des idées pour faire ça?

28
Sebi

Vous pouvez définir les propriétés de cette manière

<configuration>
  <systemProperties>
    <Java_OPTS>-Xms256m -Xmx512m -XX:MaxPermSize=256m</Java_OPTS>
  </systemProperties>
</configuration>
2
Rene Herget

Comme la plupart l'ont dit dans les commentaires ci-dessus, les propriétés de pom.xml n'ont aucun effet. Ce qui a fonctionné pour moi, c'était de définir mon MAVEN_OPTS

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

Ou sous Windows dans un terminal cmd:

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

Pour les utilisateurs de mac/linux, ajoutez simplement une instruction d'exportation à votre ~/.profile (ou nom de fichier similaire). Par exemple:

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

Et redémarrez votre Shell.

14
Lennart Kramer

Celui-ci a fonctionné pour moi:

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

Il démarre mon Tomcat8 dans une nouvelle machine virtuelle Java avec l'argument "-Xmx4096m".

0
Hombre