首页 > 代码库 > java 调用ant的自己定义task,默认不是build.xml 的一点问题
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 的一点问题