3

コマンド ラインで ant を使用して Apache FOP をビルドしようとすると、次のようにエラーが表示されます。

[javac] The system is out of resources.
[javac] Consult the following stack trace for details.
[javac]     ...
[javac]     at com.sun.tools.javac.main.Main.compile(Main.java:353)

理解できない。十分な RAM がありますが、システムのリソースが不足する可能性はありますか?

4

2 に答える 2

5

JVM により多くのメモリを割り当てる必要があります。たとえば、以下は 512Mb を JVM に割り当てます。

javac -Xmx512m ...

Java 仮想マシンは、固定の最大メモリ サイズで実行されます。メモリを集中的に使用する操作では、これを適切に増やす必要があります。-XmxJVM が使用するメモリの最大量を指定します。起動時に-XmsJVM が割り当てるメモリの量を指定します。

ここにオプションの素晴らしい要約があります。

注: 上記が Ant 経由で発生する場合、Ant で使用できるメモリ (例: set ANT_OPTS=-Xms256M -Xmx512M)を増やす必要がある場合がありjavacます。また、別の実行可能ファイルとしてフォークされている場合は、プロセスで使用できるメモリを増やす必要があります。

于 2010-01-01T11:57:18.357 に答える
1

システム メモリのサイズは話の半分に過ぎず、JVM は起動時にメモリ チャンクをヒープ領域として割り当てます。Java アプリケーションとしての Java コンパイラは、この量のメモリしか使用できません。

このオプションを使用して、Java コンパイラのヒープ サイズを自分で設定できます。

javac     -J-Xms<size>m 

ここで完全なスイッチ セットを参照してください

于 2010-01-01T11:57:20.837 に答える