しばらく前にAntlrに飛び込みましたが、コンパイル時間が信じられないほど長いことに気づきました(EclipseがAntlrについて文句を言う間、進行状況は5分間100%のままになります)。すべてのAntlr参照が削除されても、antlr-3.4-complete.jarがまだ含まれている場合、問題は解決しません。ビルドパスから削除されるとすぐに、コンパイル時間は微小に戻ります。
また、Eclipseセッションで複数回コンパイルすると、メモリ不足エラーが発生します。
何が起こっているのでしょうか?毎回ANTLRライブラリ全体を本当に再コンパイルしているのでしょうか?どうすればタイムリーにコンパイルできますか?
編集:日食が与える苦情は、内部クラスについての警告です(以下に示すように)。
[2012-08-13 22:23:39-HoloCalc] Dx警告:関連付けられたEnclosingMethod属性が付属していない匿名内部クラス(antlr.TokenStreamRewriteEngine $ 1)のInnerClasses属性を無視します。このクラスは、おそらく最新の.classファイル形式を対象としないコンパイラによって生成されました。推奨される解決策は、最新のコンパイラを使用し、「-target」タイプのオプションを指定せずに、ソースからクラスを再コンパイルすることです。この警告を無視した結果、このクラスに対するリフレクティブ操作は、それが内部クラスではないことを誤って示します。