java调用执行ant命令

原创 2016年10月25日 11:29:59

Runtime调用

public class TestInvokeDosCommand {
    private static Log log = LogFactory.getLog(TestInvokeDosCommand.class);
    public static void main(String[] args) {
        String antfile = "D:/公司相关/服务器更新/2016/HD";
        String cmd = "./build2.bat";
        try {
            //成功!直接执行ant
            //Process process = Runtime.getRuntime().exec("cmd /c ant",null,new File(antfile));
            //成功!执行bat命令:@echo off;call ant;
            //Process process = Runtime.getRuntime().exec(antfile+"/build3.bat",null,new File(antfile));
            //失败(一直在挂起,因为有pause命令)!执行bat命令:@echo off;call ant;pause
            //Process process = Runtime.getRuntime().exec(antfile+"/build.bat",null,new File(antfile));
            //成功!执行bat命令:mkdir aaa
            //Process process = Runtime.getRuntime().exec(antfile+"/build2.bat",null,new File(antfile));

            InputStream inputStream = process.getInputStream();
            InputStreamReader isr = new InputStreamReader(inputStream);
            InputStream errorStream = process.getErrorStream();
            InputStreamReader esr = new InputStreamReader(errorStream);

            int n1;
            char[] c1 = new char[1024];
            StringBuffer standardOutput = new StringBuffer();
            while ((n1 = isr.read(c1)) > 0) {
                standardOutput.append(c1, 0, n1);
            }
            System.out.println("Standard Output: " + standardOutput.toString());

            int n2;
            char[] c2 = new char[1024];
            StringBuffer standardError = new StringBuffer();
            while ((n2 = esr.read(c2)) > 0) {
                standardError.append(c2, 0, n2);
            }
            System.out.println("Standard Error: " + standardError.toString());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ProcessBuilder调用

相关文章推荐

java代码调用ant执行类

  • 2010年10月14日 17:45
  • 2KB
  • 下载

使用Ant与批处理命令实现java程序自动化版本构建

1、          版本构建简介 Ø      一个误解:版本构建就是编译。这只是版本构建的一个方面,版本构建还应该包括:代码更新,远程部署,单元测试等。 Ø      广义的版本构建是和自动...

Ant 系统命令、java工程部署

javac Ant的javac任务用于实现编译Java程序的功能。下面来看一个简单的例子: 首先我们建立名为antstudy的Java工程,建立src目录为源代码目录,在src目录下建立HelloWo...
  • chuchus
  • chuchus
  • 2015年01月20日 15:01
  • 735

Ant脚本封装ndk-build命令并执行打包启动-升级版

Ant脚本封装ndk-build命令并执行打包启动-升级版
  • mikulee
  • mikulee
  • 2016年01月13日 16:45
  • 389

用Ant调用系统命令或外部程序

最近用到了Ant,发现还是有许多功能是Ant没有提供相应Task支持,而操作系统 提供了相应的系统命令。 Ant说明书上说了,用可以调用系统命令,实际操作起来才发现陷阱可不少,一不小心就会掉下去。 ...
  • boluobn
  • boluobn
  • 2013年10月21日 14:47
  • 316

用Ant调用系统命令或外部程序

用Ant 调用系统命令 或外部程序 最近用到了Ant,发现还是有许多功能是Ant没有提供相应Task支持,而操作系统 提供了相应的系统命令。 Ant说明书上说了,用可以调用系统命令,实际操作...

Java调用Ant API用法收集

  • 2010年01月21日 09:04
  • 7KB
  • 下载

Java调用Ant API用法收集

Ant是Java程序员的一个好的工具,主要可以帮助程序员进行java项目的的管理,包括批量编译、部署、文档生成等工作,其用途远不止如此,ant内置了大量的API进行各种文件系统操作,在各种应用服务器中...

java 调用ANT 的build文件

以java编程方式调用 Apache Ant时间:2009-11-16 19:55:46来源:网络 作者:未知 点击:548次 引言 引言Apache Ant 是一个...

ant的模块化以及java调用

所有的语言都有维护和代码重用的压力,目前为止,Ant已经提供了很多的Task,可以帮助实现Ant脚本的模块化。  1. Property   Property Task除了能够定义单个的属性,还可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java调用执行ant命令
举报原因:
原因补充:

(最多只允许输入30个字)