6

私はJavaが起動してほぼ瞬時に実行されることを発見しましたが、javacには数秒かかり、antは再び遅くなります。ほんの数秒ですが、私の編集 - コンパイル - テストループはそれがなければよりスムーズになります。:-)

ところで:私はすでにvimの「:make」をantで使用しています。

javac や ant を高速化する方法はありますか? 特別なスイッチやトリックを考えていますか? または、代替の Java コンパイラ (Linux で 1.6 を使用しています)

4

5 に答える 5

4

Eclipseはあなたのためにそれを行います...しかし、あなたの問題に対する「パッチ」としてはおそらく少し大きいでしょう。

それはさておき、独自のコンパイラ プラグインを作成できます。次の 2 つの方法があります。

  1. (新しいプロセスを作成する代わりに) ant 内から Java コンパイラを実行します。ant がすでにそれを行っているかどうかはわかりません。そうでない場合は、少し時間を節約できます。詳細については、Java 6 コンパイラ APIを参照してください。

  2. ソケットのオプションをリッスンするサーバー プロセスで javac を実行します。Ant では、コマンド ラインからプロセスを送信し、出力が返されるのを待ちます。常に新しいプロセスを開始する手間を省きます。

  3. Eclipse コンパイラーを使用してみてください。元の javac とは異なり、Eclipse コンパイラーはエラーを「無視」するのに優れているため、エラーが含まれている場合でもクラス ファイルを生成できます。これはあまり意味がないように思えますが、バックグラウンドで常にコンパイルできます。最後の保存 (すべてをまとめる) を行うと、コンパイラは他のすべてをコンパイルでき、単一のファイルを確認するだけで済みます。

于 2009-04-27T15:00:17.050 に答える
3

Googleはこれら2つを見つけました(私はまだ試していません)

  1. javac -J-client -J-Xms100m -J-Xmx100m <src>

  2. JBrownieは、Aaron Digulla(2)の方針に沿って、「Javaソースコードを監視し、変更されたことが判明したファイルを自動的に再コンパイルします」

于 2009-04-28T06:24:23.320 に答える
0

JavaRebelをご覧になることをお勧めします。

于 2009-04-27T15:00:32.727 に答える
0

すべての出力ファイルを、このユーティリティで作成した ramdisk にポイントします。ほとんどすべてがメモリ内にあるため、ビルドがかなり高速化されます(魔法の程度ではありませんが)。これは、ほぼ瞬時になる「クリーン」ビルドを実行するときに最も顕著です。

于 2009-04-28T09:01:28.510 に答える