【发布时间】:2011-01-27 12:12:08
【问题描述】:
我继承了一个包含 ant 构建文件的项目。我们正在升级库,当我们这样做时,我们的古老 XSLT 翻译器开始出现问题。我试图用 ant 的 XSLT 任务替换调用,但是它在我们的翻译器中引发了一些错误(命令行中的 xalan 不会引发此类错误)。
有没有办法将文件集与 java 任务结合使用?它肯定会比不得不多次重复大部分通话要好。我唯一能真正想到的就是将变量传递给子蚂蚁任务,但也许有更好的方法?
【问题讨论】:
我继承了一个包含 ant 构建文件的项目。我们正在升级库,当我们这样做时,我们的古老 XSLT 翻译器开始出现问题。我试图用 ant 的 XSLT 任务替换调用,但是它在我们的翻译器中引发了一些错误(命令行中的 xalan 不会引发此类错误)。
有没有办法将文件集与 java 任务结合使用?它肯定会比不得不多次重复大部分通话要好。我唯一能真正想到的就是将变量传递给子蚂蚁任务,但也许有更好的方法?
【问题讨论】:
在 XSLT 任务的序言中仔细阅读:
注意:如果您使用的是 JDK 1.4 或 更高,这个任务不需要 未提供的外部库 Apache Ant 发行版。然而, 通常内置的 XSL 引擎不是 与新下载一样是最新的,所以 仍然强烈建议更新 特别是因为内置的 XSLT Java 5 的处理器(以及某些 范围 Java 6) 已知具有 严重的问题。见图书馆 更多信息的依赖项。
如果您运行的是最新版本的 Ant,XSLT 任务有一个 classpath/classpathref 参数,据说用于定位 XSLT 处理器。
因为我们的项目是在 1.8 发布之前开始的,所以我们使用了“通常”的 Ant 方式来提供此类库:将它们复制到 ant 的 lib 目录或为 ant 提供 -lib 开关打电话。
注意,要使 Xalan 正常工作,您需要将 xalan-X.X.X.jar 和 xalan-serializer-X.X.X.jar 添加到类路径中。
【讨论】: