gpt4 book ai didi

ant - 为什么 Ant taskdef 不能加载 ./net 之外的资源

转载 作者:行者123 更新时间:2023-12-04 02:08:50 26 4
gpt4 key购买 nike

当使用 taskdef 声明外部 ant 任务时,例如 ant-contrib,建议的设置是使用以下 taskdef:

<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="lib/ant-contrib/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>

当 antcontrib.properties 位于相对于 build.xml 文件的 net/sf/antcontrib 中时,这会起作用。

但是当我把它放在 lib/net/sf/antcontrib 并将 taskdef 更改为
<taskdef resource="lib/net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="lib/ant-contrib/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>

Ant 无法找到属性文件,它给出了错误
[taskdef] Could not load definitions from resource
lib/net/sf/antcontrib/antcontrib.properties. It could not be found.

似乎 ant 单独处理 lib 目录并且无法从那里加载 taskdef 资源。

最佳答案

正如亚历克斯所说,你不需要解压 jar 。 <taskdef>可以直接从 jar 中加载 antcontrib.properties。

您得到的错误是因为您更改了资源路径,但是压缩 jar/zip 中文件的路径仍然相同。 taskdef 没有注意您移动的属性文件,因为 <classpath>您提供给 <taskdef>告诉它只看 jar 。

关于ant - 为什么 Ant taskdef 不能加载 ./net 之外的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050043/

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