解决方法是 Ant Task jar.destfile 中的通配符



我正在使用 Ant 更新 Jar 文件,但 Jar 的名称经常更改。 我想使用通配符(即 * ) 在 jar Ant 任务的 destfile 属性中。 如果这样做,这将允许 Ant 脚本保持不变,即使 Jar 文件名发生更改也是如此。 例如。。。

<jar update="true" destfile="myjar*.jar">
   <zipfileset dir="classes"/>
</jar>

遗憾的是,不支持*。 我收到以下错误:

The filename, directory name, or volume label syntax is incorrect

如何更新名称已更改的 Jar 文件?

从技术上讲,Ant 脚本是使用maven-antrun-plugin运行的,因此 Maven 解决方案也是可以接受的。

您的方法的问题在于"myjar*.jar"可以选择多个 JAR。

解决方法是将第一个与给定名称匹配的 JAR 查找到所需的文件夹中:这将对应于所需的 JAR(因为我们知道只有一个)。然后,您可以使用该 JAR 对其进行更新。

示例配置如下。它在first资源定位器的帮助下检索第一个 JAR。

<first id="jarToUpdate">
    <fileset dir="/path/to/wanted/directory" includes="myjar*.jar" />
</first>
<jar update="true" destfile="${toString:jarToUpdate}">
   <zipfileset dir="classes"/>
</jar>

相关内容

  • 没有找到相关文章

最新更新