java 调用ant的自己定义task,默认不是build.xml 的一点问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 调用ant的自己定义task,默认不是build.xml 的一点问题相关的知识,希望对你有一定的参考价值。

java  调用ant的自己定义task,

    File buildFile = new File(".//ee-build.xml");

        // 创建一个ANT项目

        Project p = new Project();

        // 创建一个默认的监听器,监听项目构建过程中的日志操作

        DefaultLogger consoleLogger = new DefaultLogger();

        consoleLogger.setErrorPrintStream(System.err);

        consoleLogger.setOutputPrintStream(System.out);

        consoleLogger.setMessageOutputLevel(Project.MSG_INFO);

        p.addBuildListener(consoleLogger);

        try {

            p.fireBuildStarted();

            // 初始化该项目

            p.init();

            ProjectHelper helper = ProjectHelper.getProjectHelper();

            // 解析项目的构建文件

            helper.parse(p, buildFile);

            // 运行项目的某一个目标

            p.executeTarget("hello");

            p.fireBuildFinished(null);

        } catch (BuildException be) {

            p.fireBuildFinished(be);

        }

    }

假设java调用的target里用antcall调用还有一个target,而且此target不在build.xml中定义。会出现target找不到。由于尽管上面指定文件为ee-build.xml,可是ant默认找target还是会从build.xml中找。

或者p.setUserProperty("ant.file",buildFile.getAbsolutePath());
















































以上是关于java 调用ant的自己定义task,默认不是build.xml 的一点问题的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins Maven - Ant BuildException - task.properties 默认文件

Apache Ant介绍

错误记录Groovy 报错 ( Execution failed for task ‘:compileGroovy‘. > org/apache/tools/ant/taskdefs/Java )

对于 Java 8,需要使用哪个版本的 sonar-ant-task?

ANT--------构建文件build.xml

Ant安装与配置&build.xml文件说明