2

maven-antrun-plugin を使用して、ant の build.xml を maven プロジェクト pom.xml に変換していますが、java.lang.OutOfMemoryError: Java ヒープ スペース エラーが発生しています。このエラーは、ビルド時にかなり大きなファイル 2g をある場所にコピーしようとすると発生します

このコードは単純です

<copy todir="dist/${cgapp.home}/${push.root}/${cgapp.toolchain}" >
            <fileset dir="${env.PUSH_TOOLCHAIN}" includes="**"/>
</copy>

maven-antrun-plugin を使用すると、pom.xml は次のようになります。

<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<configuration><exportAntProperties>true</exportAntProperties>
<target>
.........
    <copy verbose="true" todir="app/${cgapp.home}/${push.root}/${cgapp.toolchain}">                                   
    <fileset dir="${env.PUSH_TOOLCHAIN}" includes="**"/>                      
    </copy>
....
</target>
</..>

ant ビルドの実行中、ANT_OPTS は -Xmx4g に設定され、ant スクリプトは正常に動作します。しかし、maven package コマンドを実行すると、以下に示すようにエラーがスローされます。

Ant BuildException が発生しました: java.lang.OutOfMemoryError: Java ヒープ領域

Maven プラグインは ANT_OPTS 環境変数を読み取らず、デフォルト値を持っていると思います。なぜこれが起こっているのか、そして ANT_OPTS 変数を antrun プラグインに渡す方法があるのか​​ 知っている人はいますか?

4

1 に答える 1