gpt4 book ai didi

ant - 从 Apache Ant 宏中访问 Antlib 资源

转载 作者:行者123 更新时间:2023-12-04 06:32:59 24 4
gpt4 key购买 nike

是否可以从 Antlib 中定义的 Apache Ant 宏中访问资源?

例如,在我的 antlib.xml 中,我有一个执行一些 XSLT 的宏。理想情况下,我希望将 XSLT 文件打包在与 antlib.xml 相同的 JAR 中。 ,但我不知道如何指定 XSLT 的位置。

这是(简化的)代码:

<antlib xmlns:tibant="antlib:org.windyroad.tibant">
<macrodef name="configure-ear">
<attribute name="xml" />
<attribute name="out" />
<sequential>
<xslt in="@{xml}"
out="@{out}"
style="...what to put here...">
</xslt>
</sequential>
</macrodef>
</antlib>

问题是无论我在 style属性相对于 basedir对于使用 antlib 的项目,我找不到任何方法来指定相对于 antlib.xml 的路径。

有任何想法吗?

我可以将 XSLT 作为单独的文件发送,但随后我需要给用户一些方法来指定 XSLT 的位置,这并不理想(例如设置 tibant.home 属性)。我也可以使用 echoxml将 XSLT 写出到临时文件,但 IMO 是一个黑客。

最佳答案

而不是使用 style属性,尝试嵌套 <style>元素,这将允许您指定 javaresource 作为样式表。然后,您可以将样式表放在 jar 中的 antlib.xml 旁边,它将在类路径中可用。

<xslt in="@{xml}"
out="@{out}">
<style>
<javaresource name="your/package/structure/style.xslt" />
</style>
</xslt>

关于ant - 从 Apache Ant 宏中访问 Antlib 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com