web-dev-qa-db-ja.com

Tomcat7 mavenプラグインのメモリを増やしますか?

Tomcat7-maven-pluginを使用して、組み込みのTomcat7インスタンスをmavenから直接起動したい。これは正常に動作していますが、開始されたTomcatには十分なメモリがないようです。設定する必要があると思う

-XX:MaxPermSize=256m

しかし、それを行う方法がわかりません。

ドキュメントには、プラグインの「構成」セクションにある「systemProperties」要素を使用する必要があると記載されています。ただし、オプションはXML要素として指定されており、次のようにする必要があります。

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

ただし、これはXMLを破壊するため、もちろん不可能です(XXは名前空間として解釈されます)。

もちろん、環境変数を設定することでこの問題を回避できます

MAVEN_OPTS=-XX:MaxPermSize=256m

しかし、私は組み込みのTomcatに対してのみそれを増やしたいと思います。それを行う方法のアイデアはありますか?

28
Sebi

この方法でプロパティを設定できます

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

上記のコメントでほとんど述べられているように、pom.xmlのプロパティには効果がありません。私のために働いたのは私のMAVEN_OPTSを設定することでした

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

またはWindowsのcmdターミナル:

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

Mac/linuxユーザーの場合は、exportステートメントを〜/ .profile(または同様のファイル名)に追加するだけです。例えば:

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

シェルを再起動します。

14
Lennart Kramer

これは私のために働きました:

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

引数「-Xmx4096m」を使用して、新しいJVMで私のTomcat8を起動します。

0
Hombre