java调用ant_从java调用ant,然后在ant终止后返回到java
查看Ant的主類org.apache.tools.ant.Main的來源。您可以嘗試直接調(diào)用其main或start方法,或?qū)⑵洳糠诌壿嫃?fù)制到您的應(yīng)用程序中。 完成這些方法后,應(yīng)用程序應(yīng)繼續(xù)執(zhí)行。 del>
編輯:
The answer by Paul Cager是正確的,我在某種程度上錯過了Ant的Main調(diào)用System.exit()的事實。
關(guān)于main / start / startAnt方法的另一個問題是它們希望將參數(shù)作為字符串?dāng)?shù)組。這可能很方便,但它不是特別類型安全或面向?qū)ο蟆R獮榻o定的構(gòu)建文件和目標調(diào)用Ant,可以使用以下內(nèi)容:
public static void runAnt(String buildfile, String target) throws Exception {
File buildFile = new File(buildfile);
Exception error = null;
org.apache.tools.ant.Project project = new org.apache.tools.ant.Project();
try {
project.addBuildListener(new org.apache.tools.ant.listener.Log4jListener());
project.fireBuildStarted();
project.init();
project.setUserProperty(org.apache.tools.ant.MagicNames.ANT_FILE, buildFile.getAbsolutePath());
org.apache.tools.ant.ProjectHelper.configureProject(project, buildFile);
project.executeTarget(target);
} catch (Exception e) {
error = e;
throw e;
} finally {
project.fireBuildFinished(error);
}
}
總結(jié)
以上是生活随笔為你收集整理的java调用ant_从java调用ant,然后在ant终止后返回到java的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 没别的,就聊聊数据通信网络
- 下一篇: 微量元素可增加宝宝食欲