查看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相关推荐

  1. java怎么把数据返回给客户端_将数据从Servlet返回到Java客户端

    您遇到了序列化问题.序列化是将某些数据转换为可以传输的格式的地方.有几种方法可以做到这一点,其他答案中提到了一些方法. 我建议使用JSON作为您的格式.你可以从json.org获得一个很好的Java ...

  2. jni c向java传递数组_通过jni将jint数组从c返回到java

    我在java中创建了一个整数数组,并通过jni将数组传递给cpp程序 我的代码是: import java.util.*; class SendArray { //Native method decl ...

  3. 字符串 二进制数字 转换 java_如何将二进制数据转换为字符串并返回到Java中?

    String(byte[]) 将数据视为默认字符编码.因此,如何将字节从8位值转换为16位Java Unicode字符将不仅在操作系统之间发生变化,而且甚至可以在同一台机器上使用不同代码页的不同用户之 ...

  4. MATLAB从入门到精通-APP调用simulink中的参数,并且修改,将结果返回到APP中

    本次案例为以下微分方程: 其中方程的初始值为: Step1:搭建simulink文件,如下图所示: 初始值配置在积分模块中,如下图所示: Step2ÿ

  5. java rtmp_搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)...

    一.环境搭建 1.安装ffmpeg 下载对应系统的ffmpeg安装包,个人采用windows平台进行开发,所以安装了windows版本(各平台ffmpeg命令都是一样的,无须纠结) 2.ffmpeg的 ...

  6. 外汇汇率接口 java_基于JAVA的货币汇率api调用代码实例

    代码描述:基于JAVA的货币汇率api调用代码实例 关联数据:货币汇率 接口地址:http://www.juhe.cn/docs/api/id/23 1.[代码][Java]代码 import jav ...

  7. linux下java调用matlab程序,linux_java调用windows_matlab程序

    0 说明 本文为研究java和matlab的混合编程,进行了详细的测试和探索,以解决linux环境下java程序调用matlab程序的一个应用. linux端的环境 :(运行java程序并调用wind ...

  8. JAVA与.NET的相互调用——通过Web服务实现相互调用

    JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方.而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发.而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候 ...

  9. python3调用java_Python程序中调用Java代码的实践

    1.环境准备 windows 7(64位)+JDK(64位)+Python(64位)+eclipse+pycharm 还需要一个作为桥梁的工具包,jpype1,这个工具包可以启动jvm,使java代码 ...

最新文章

  1. JS——“==”与“===”
  2. 为何Google比苹果和微软更需要HTML5?
  3. FLV封装格式介绍及解析
  4. linux运维决心书!
  5. Python+Opencv实现无参数、全自动的Canny算法
  6. [C++] iota语句的语法
  7. 怎么在服务器上加端口映射,Windows服务器中命令行添加端口映射
  8. word的公式后加编码后自动变小
  9. 剑指 Offer 10- I. 斐波那契数列/剑指 Offer 10- II. 青蛙跳台阶问题
  10. java中扫描类_java类扫描
  11. qtreewidget点击空白处时取消以选项_手机APP自动续费,我们要如何取消?
  12. C语言之如何理解指针的指针(九)
  13. 数据库系统概论第五版(第 5 章数据库完整性)习题答案
  14. 基于Key过期失效实现 ‘N分钟内请勿重复提交“ 功能
  15. Scikit-Learn机器学习(knn算法)
  16. JavaSE:抽象(abstract)
  17. visio电路图怎么连线_还在用visio画电路图?不看后悔!
  18. Linux下ifconfig不显示ip地址问题总结
  19. python中的del含义
  20. 数据采集简繁体快速转换

热门文章

  1. 计算机器人正反运动学方程,机器人运动学方程
  2. QImage的深拷贝与浅拷贝
  3. Android 状态栏工具类(实现沉浸式状态栏/变色状态栏)
  4. 黑群晖二合一安装不了套件_玩PT还是得安装transmission,星际蜗牛安装黑群晖制作家用NAS...
  5. easyui中在datagrid中右键出现菜单
  6. 微软抄袭 AppGet 始末,开源普法任重道远
  7. 国产开源优秀新一代MPP数据库StarRocks入门之旅-数仓新利器(上)
  8. KiCad快速入门学习笔记:层次图和设计规则使用
  9. 《痞子衡嵌入式半月刊》 第 68 期
  10. springboot毕设项目人机工程与交互体验实验室网站zo77m(java+VUE+Mybatis+Maven+Mysql)