【问题标题】:which Classes in ANT Source parse build.xml?ANT Source 中的哪些类解析 build.xml?
【发布时间】:2016-02-23 10:38:52
【问题描述】:

我想知道 ANT 源代码中的哪些类用于解析 build.xml 构建文件。 在解析这个 build.xml 文件后,我想将 build.xml 中存在的详细信息存储到目标数组列表中。

【问题讨论】:

  • 如果你想探索 Ant 的内部工作原理,最好下载它的源代码并调试到一个 ant run 中。
  • 非常感谢您的帮助。我已经下载了源代码,正在调试过程中。

标签: java parsing ant build.xml build-tools


【解决方案1】:

Project 和 ProjectHelper 是用于解析蚂蚁的 build.xml 的 2 个类。 以下是解析xml的代码sn-p。

Project project = new Project();
File buildFile = inputFile.getFile();
project.setUserProperty("ant.file", buildFile.getAbsolutePath());
ProjectHelper projectHelper = ProjectHelper.getProjectHelper();
project.addReference("ant.projectHelper", projectHelper);
//ProjectHelper.configureProject(project, buildFile);
projectHelper.parse(project, buildFile);
//you can use either static method configureProject of ProjectHelper or normal parse method.

parse 或 configureProject 读取你提供的文件并对其进行解析并与 Project 对象中的相应对象进行映射。

【讨论】:

  • 解析存在一个问题,该方法在识别出Project标签后在xml中搜索Target标签,但是当在xml中使用任何其他自定义标签(如'property')时,解析期间会出现异常.
  • 以下是看到的异常。 - 线程“main”中的异常 - 执行此行时发生以下错误:jar:file:/../apache-ant-1.8.2-bin/apache-ant-1.8.2/lib/ant.jar!/ org/apache/tools/ant/antlib.xml:37:问题:创建任务或类型组件定义失败原因:名称未定义。行动:检查拼写。行动:检查是否已声明任何自定义任务/类型。行动:检查任何 / 声明已经发生。有人可以帮忙吗
  • 我已经想出了异常的解决方案。我已将罐子从 ant-1.8.2 更改为 ant-1.9.6。现在它工作得很好
猜你喜欢
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
相关资源
最近更新 更多