zoukankan      html  css  js  c++  java
  • 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());

  • 相关阅读:
    AJAX封装(IE)
    CSS3线性渐变
    [Kafka] [All about it]
    [Java][内存模型]
    [python] [Jupyter Notebook]
    [Paper][Link note]
    [TODO]
    [Java] [Singleton] [DCL][happens-before]
    [Java concurrent][Collections]
    Unity AssetBundles and Resources指引 (四) AssetBundle使用模式
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6939807.html
Copyright © 2011-2022 走看看