web-dev-qa-db-ja.com

Eclipseの「自動的にビルド」オプションの目的

自動ビルドEclipseのオプションの目的は何ですか(Project->Build Automatically)?鉱山は常にチェックされます。しかし、これまでにJavaコードの変更があるときは、まだ完全なビルドを行う必要があります。常にチェックする必要があると言われました。そうするメリットはありません。説明する。

45
pushya

はい、まだビルドを行う必要がありますが、保存時に自動的に行われます(Antビルドのような外部ビルドではなく、「内部」ビルド)。保存時にビルドしたくない場合は、チェックボックスをオフにします。自動的にビルドすると、一部の人は緊張します。

31
Jon Skeet

Eclipseには良い答えがあります 彼らのウェブサイト上

作業には、自動ビルドモードと手動ビルドモードの2つのモードがあります。デフォルトでは、自動ビルドモードになっており、Eclipseはソースファイルを自動的にコンパイルします。ビルドは、ワークスペース内のファイルを変更するたびにバックグラウンドで自動的に発生します(エディターの保存など)。自動ビルドは、ビューやバイナリなどの問題が常に最新であることを意味するため、便利です。欠点は、大規模なワークスペースでは、多くのダウンストリーム依存プロジェクトを持つプロジェクトのファイルを変更する場合、自動ビルドに時間がかかる可能性があることです。

自動ビルドに時間がかかりすぎて進行中の開発を妨げている場合は、自動ビルドをオフにすることができます。手動ビルドモードになると、ユーザーはビルドがいつ行われ、何がビルドされるかを完全に制御できます。 [プロジェクト]> [すべてビルド](Ctrl + B)をいつでも呼び出して、自動ビルドが自動的に実行していることをトリガーできます。これにより、ビルドを呼び出す前に、より大きな変更セットをビルドできます(Eclipseはどのファイルが変更されたかを記憶しているため、ビルドを要求するときに必要以上の作業を行う必要はありません。

「自動ビルドモード」と言うときは「自動ビルド」をチェックした場合、「手動ビルドモード」と言うときは「自動ビルド」をチェックしていないことを意味します。

27
Jessica Brown

[〜#〜] note [〜#〜]
C/C++ユーザーの場合 fromhelp.Eclipse.org

デフォルトでは、Eclipseワークベンチはプロジェクトを自動的にビルドするように構成されています。ただし、C/C++開発ではこのオプションを無効にする必要があります。そうしないと、メイクファイルまたはソースファイルへの変更を保存するたびにプロジェクト全体が再構築されます。 [プロジェクト]> [自動ビルド]をクリックし、[自動ビルド]メニュー項目の横にチェックマークがないことを確認します。

2
fat

人々がここで言及しなかったことの1つ(そして、私もこれを理解するのに時間がかかりました)は、Eclipseビルド(自動または手動)が基本的にプロジェクトの「Java Build Path」ソースタブで説明した内容に従うことです。そのため、ビルドソースタブでファイルがカバーされている場合、ファイルを変更すると、そのディレクトリ/ファイルに指定された出力フォルダーにコピー/コンパイルされます。

1
mtkilbay

もう1つの違いは次のとおりです。
ほとんどの場合、JSPの作業中に「自動的にビルド」をチェックすると役立ちます。 JSPの変更を自動的に取得します。
ただし、Javaクラス/ XMLを変更する場合は、手動でビルドする必要があります。コマンドプロンプトを介してEclipseの外部で実行されるResinサーバーを使用しているため、オプションをチェックすることをお勧めします。
Eclipseでサーバーをセットアップしたら、それをオフにしてサーバーで公開を使用します。

これは私が使用する方法であり、答えは私の経験に基づいています。

1
raja777m

プロジェクト-自動ビルドを無効にするオプションは、自動ビルドがオフであることを常に意味するわけではありません。たとえば、「Makegood」テスト自動化プラグインは、Preferences-Run/Debug-launching-(General opt)Build before launchはオンです。そのため、手動ビルドが必要な場合はオフにします。

1
Rix Beck

[自動的にビルド]がオンになっている場合、IDEは、ファイルを変更して保存するたびにJavaコードを自動的にコンパイルします。 WARモジュール上のWebプロジェクトで作業している場合のように、ソリューション全体を展開するかのようにソリューション全体を作成します。

0
JavaJoe