[Eclipse] Eclipse 3.4 で Ant がうまく動かない... | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

久々に Eclipse のバージョンを 3.1 から 3.4 へと上げてみました。

しかし、インストールや CVS からのプロジェクトのチェックアウト、設定などは順調に進みましたが、なぜか Ant の実行がうまくいきません。

Eclipse 3.1 では、VM の引数を若干調整したくらいで特に何も設定せずともうまく動いていたのですが、Eclipse 3.4 では compile、つまり javac の実行のところでうんともすんとも言わなくなってしまうのです。


この現象、いろいろ試行錯誤を繰り返してみてもなかなか打開できませんでしたが、Ant 実行時の[JRE]の設定で"別の JRE"ではなく、"ワークスペースと同じ JRE で実行"を選択すると状況が変わりました。

コンソール上に以下のエラーメッセージが表示されるようになったんです。

[javac] システムリソースが不足しています。
[javac] 詳細は次のスタックトレースで調査してください。
[javac] java.lang.OutOfMemoryError: Java heap space

これは VM のメモリの設定を調整をすれば解消する問題なのですが、単にヒープ領域の最大値(-Xmx)を大きくするだけではダメで、Permanent 領域の最大値(-XX:MaxPermSize)も合わせて大きくすることによってようやくうまく動くようになりました。

eclipse.ini
--launcher.XXMaxPermSize
256m
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms256m
-Xmx512m
-XX:PermSize=32m
-XX:MaxPermSize=256m
-javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar


この Permanent 領域の設定は、Eclipse 自体が落ちるという現象にも効果があるようです。


ただ、"別の JRE"での実行は、上記のような引数を設定してもやはりダメでした。




追記

3.4.1から3.4.2に上げたら、”別のJRE”で実行しても上記の現象は起こらなくなりました。