依程式的方式執行 Ant 建置檔

Eclipse 內建的 Ant 支援可讓外掛程式依程式的方式執行 Ant 建置檔。 透過併入在 org.eclipse.ant.core 外掛程式中的 AntRunner 類別來完成。

下列程式碼片段顯示如何使用另一個外掛程式之程式碼內的 AntRunner 範例:

import org.eclipse.ant.core.AntRunner;
import org.eclipse.core.runtime.IProgressMonitor;

...

public void runBuild() {
	IProgressMonitor monitor = ...
	AntRunner runner = new AntRunner();
	runner.setBuildFileLocation("c:/buildfiles/build.xml");
	runner.setArguments("-Dmessage=Building -verbose");
	runner.run(monitor);
}

如果已使用進度監視器,將使得它在執行作業時為可用的。 請參閱進度監視器以取得詳細資料。

請注意,如果建置不在個別 VM 中發生, 則在任何給定的時間,只能發生一個 Ant 建置。請參閱 AntRunner.isBuildRunning()

如果要在與工作區相同的 JRE 內進行建置,請特別留意原生程式庫。

每一次在 Eclipse 中執行 Ant 建置檔,就會建立一個新的類別載入器。因為在 Java 中,程式庫只可以由一個類別載入器載入, 利用原生程式庫的作業可能會在多個建置檔執行時遇到問題。 如果上一個類別載入器在新的類別載入器嘗試載入原生程式庫時尚未被當作待回收記憶體收集, 則會擲出異常狀況,指出問題和建置失敗。避免這個問題的一個方法是讓外掛程式程式庫中的類別處理常式庫載入。 作業可利用存取原生方法的類別。這樣一來,是由外掛程式類別載入器載入程式庫而且不會遭遇載入程式庫衝突。