2011-09-15 9 views
7

私はJavaプロジェクトを持っています。標準Java Builderが唯一のビルダーとして選択されています。また、ビルドは自動的にビルドされるように構成されています。Eclipseでのプロジェクトへのビルダーの追加とインクリメンタルネス

私が理解したいのは、このプロジェクトにアリビルドを追加したときのビルド状況です(project -> properties -> builders)。私が期待しているのは、Javaのソースを変更するたびに、Java Builderと私のantビルドの両方が実行されますが、私のantビルドが実行されているようには見えません。

私が最初にant buildを追加すると動作します。つまり、コンソールに出力が表示されます。しかし、ソースファイルを変更しても、それは再び実行されません。つまり、コンソールに出力が表示されません。私は変更がEclipseクラスのコード認識に入ったという事実のために、Java Builderがまだ動作していることを知っています。つまり、他のクラスなどからこれらの変更を参照できます。

私は、 Project -> Build All、ant buildが実行されます。つまり、コンソールに再度出力が表示されます。

なぜ、私が追加したアリビルドが自動ビルディングで動作しないのですか? Java Builderが起動したときに起動すると思っていたでしょうが、インクリメンタルな作業を行うことができるとは必ずしも思いません。何か不足していますか?

+0

このリンク(http://www.eclipse.org/articles/Article-Builders/builders.html)は、おそらく私のアリビルドがバックグラウンドで実行されていて、出力がちょうど来ていないことを示唆しているようですコンソール。また、自動ビルドビルドとビルドオールビルドの両方が、ビルダーが変更のデルタを受け取り、ビルドタスクを徐々に適用できるという点で「インクリメンタル」であることも示唆されています。 。 。これが当てはまる場合、私のant build.xmlがそのデルタ情報にどのようにアクセスするのかは分かりません。 。 。 – chad

+0

おい!これについてインターネット上には何もありません!!私が書いたこの建築家についての壁に頭を叩いていて、うまくいきません!!! Qの答えを見つけましたか? –

+2

番号。あなたは私の質問をupvoteする必要があります、そして、それはもっと知識のある人々の注目を集めるでしょう。 – chad

答えて

1

Antビルダーまたは他のビルダーには、プロジェクトをビルドするためのいくつかの方法があります。 Eclipseでビルドが発生すると、すべてのアクティブなビルダーのbuild(int kind, Map<String, String> args, IProgressMonitor monitor)メソッドが呼び出されますが、buildメソッドでビルダーがチェックするさまざまな種類のビルドがあります。ビルドの種類は以下のとおりです。ここで

FULL_BUILD 
AUTO_BUILD 
INCREMENTAL_BUILD 
CLEAN_BUILD 

は、ビルドの例の構文は次のとおりです。

protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException { 
    if (kind == FULL_BUILD) { 
     fullBuild(monitor); 
    } else { 
     IResourceDelta delta = getDelta(getProject()); 
     if (delta == null) { 
      fullBuild(monitor); 
     } else { 
      incrementalBuild(delta, monitor); 
     } 
    } 
    return null; 
} 

あなたが見ることができるように、ビルダーは、ビルドの特定の種類に反応することを決定し、さらには異なる動作をすることができます異なるビルドの種類のため、私の推測では、antビルダーは実装されており、増分ビルドではなく完全ビルドにのみ反応するようになっています。

0

「自動」ビルド中に実行するようにAntビルダーを構成しましたか?これを行うには、ビルダーのプロパティを選択し、Targetsページに行き、Auto BuildSet Targetsを使用します。

私は、Eclipseプロジェクトであらゆる種類のビルド(編集されたソースファイルも保存)で実行されているAntビルダーを使用しています。

関連する問題