java调用ant_从java调用ant,然后在ant终止后返回到java
查看Ant的主類org.apache.tools.ant.Main的來源。您可以嘗試直接調用其main或start方法,或將其部分邏輯復制到您的應用程序中。 完成這些方法后,應用程序應繼續執行。 del>
編輯:
The answer by Paul Cager是正確的,我在某種程度上錯過了Ant的Main調用System.exit()的事實。
關于main / start / startAnt方法的另一個問題是它們希望將參數作為字符串數組。這可能很方便,但它不是特別類型安全或面向對象。要為給定的構建文件和目標調用Ant,可以使用以下內容:
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);
}
}
總結
以上是生活随笔為你收集整理的java调用ant_从java调用ant,然后在ant终止后返回到java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 没别的,就聊聊数据通信网络
- 下一篇: 微量元素可增加宝宝食欲