web-dev-qa-db-ja.com

Eclipseでワークスペースプロセスの構築を無効にする

ワークスペースプロセスの構築が実行されているとき、Eclipseは何をしますか?完了するのに時間がかかり、必要かどうかわからないため、無効にすることはできますか?ありがとうございました

87
Super Cat

ワークスペースの構築とは、現在使用されているワークスペースで開かれているプロジェクトのいずれかで検出された進化の増分ビルドに関するものです。

メニュー「Project / Build automatically」から無効にすることもできます。

ただし、最初に確認することをお勧めします。

  • project Clean all/Buildの結果が同じ種類の長い待機になった場合(このオプションを無効にした後)
  • (今回はビルドが自動的にアクティブ化される)検証オプションがある場合は、グローバルコンパイル時間に影響があるかどうかを確認するために無効にすることができます(Preferences / Validations、またはWTPがインストールされている場合はPreferences / XML / ...
  • 同じワークスペースを参照する新しいEclipseインストール( this Eclipse.ini を参照)で同じ問題が発生する場合(と自動的にアクティブ化される建物)

バグ329657 (2011年にオープン、2014年に進行中)は、キャンセル itではなく、割り込み(長すぎる)ビルドであることに注意してください。

ビルド割り込みとキャンセルには重要な違いがあります。

  • ビルドがキャンセルされると、通常、インクリメンタルビルド状態を破棄し、次のビルドを完全なリビルドにすることでこれを処理します。これは、プロジェクトによっては非常に高価になる場合があります。
    ユーザーとしては、キャンセルして30秒後に再構築するのではなく、5秒のインクリメンタルビルドが完了するのを待ちたいと思います。

  • 割り込みの考え方は、ビルダーが中間状態を保存し、次の呼び出しで再開することにより、割り込みをより効率的に処理できるということです。
    実際には、これを実装するのは難しいので、最も一般的な境界は、チェーン内の各ビルダーを呼び出す前後に割り込みをチェックするときです。

102
VonC

手動ビルドに切り替えて、これをいつ実行するかを制御できます。メインメニューのProject > Build Automaticallyがオフになっていることを確認してください。

15
Chry Cheng

必要に応じて、PDEコードまたはJDTコードからプログラム的に:

public static void setWorkspaceAutoBuild(boolean flag) throws CoreException 
{
IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IWorkspaceDescription description = workspace.getDescription();
description.setAutoBuilding(flag);
workspace.setDescription(description);
}
3
taitelman