【问题标题】:Workaround Wildcard in Ant Task jar.destfileAnt 任务 jar.destfile 中的解决方法通配符
【发布时间】:2016-06-10 05:55:55
【问题描述】:

我正在使用 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 解决方案也是可以接受的。

【问题讨论】:

    标签: java maven ant jar


    【解决方案1】:

    您的方法的问题是"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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      相关资源
      最近更新 更多