2016-07-07 10 views
0

私はMavenでコンパイルするのに34分かかっているレガシープロジェクトを持っています。しかし、私は私のIDE(この場合はIntelliJ)でそれを開き、何かを変更して実行すると、コンパイルするのに数秒しかかかりません。それはどうですか? IDEは差分コンパイルを行いますか?もしそうなら、私はMavenと同様のことをすることができますか?IDEはどのようにすばやくコンパイルされますか?

+1

あなたのIDEは、おそらく変更されたクラスだけプロジェクト全体を再コンパイルしていません。 – khelwood

+0

@Matt私はそこに何か間違っていると思っていますが、私はMavenには新しく、コンパイル時間をどのように落とすのか分かりません。ポインタは高く評価されています。 – Johnny

答えて

4

はいIDEは変更されたコードのみをコンパイルします。また、ファイル全体をコンパイルする必要のないカスタムコンパイラ(例えば、eclipseでのecj)もあります。

通常、maven runはコンパイルだけではありません。私が扱っているプロジェクトでは、テストのためにほとんどの時間が使用され、アーティファクトの作成/バンドルにはいくつかの追加作業が行われます。

テストを実行しないようにmavenに指示するには、-DskipTestsコマンドラインオプションを追加します。もう1つの方法は、コマンドラインから "clean"を削除することで、変更されたファイルだけがコンパイルされます。

覚えておいてください:ソース管理にコミットする前に、きれいでアクティブなテストで常にmavenを実行する必要があります。