AntでOutOfMemoryErrorが発生する場合
Total: 31916
, Today: 1
, Yesterday: 9
Posted by aterai at
Last-modified:
概要
Ant
を実行するとOutOfMemoryError
が発生する場合の処置方法について解説しています。
注:Java 8
では、これらの設定をしなくても、OutOfMemoryError
は発生しないはず?
javacタスク
javac
タスクなどでOutOfMemoryError
が発生する場合、以下のようなユーザー環境変数(またはシステム環境変数)を設定してant
が使用できるメモリサイズを増加しておく必要があります。
変数名: ANT_OPTS 変数値: -Xmx256m
javac
タスクのオプションで、memoryMaximumSize
属性などを使用する方法もあります(fork="true"
も必要)。
<javac srcdir="${src}"
destdir="${build}"
fork="true"
memoryInitialSize="128m"
memoryMaximumSize="256m"
/>
javaタスク
java
タスクの場合は、maxmemory
属性を使用する方法もあります。
<java jar="${relaxer.home}/Relaxer.jar" fork="true" maxmemory="256m">
<!-- arg value="-Xmx256m"/ ←は意味が無い? -->
<arg value="-dir:${build.src}/relaxer"/>
<arg value="-properties:${basedir}/Relaxer.properties"/>
<arg value="${src.dir}/relaxng/xslfo.rng"/>
<classpath>
<fileset dir="${relaxer.home}" includes="*.jar"/>
</classpath>
</java>