如何在 ant fileset 或 src 中使用通配符
How to use wild card in ant fileset or src
使用蚂蚁 1.5
我正在尝试创建一个 jar 文件,其中包含在产品目录下编译的文件,可以不断更改构建名称
/target
|---myapp-1.3.5-SNAPSHOT
|--- WEB-INF
|---classes
|---i18n
有点挑剔,但我必须制作一个仍保持 web
结构的 jar 文件
|---myapp-utility.jar
|--- WEB-INF
|---classes
|---i18n
这意味着我必须使用通配符来识别具有构建和快照的目录
<jar destfile="myapp-utility.jar">
<manifest>
....
</manifest>
<fileset dir="myapp-**/"/>
</jar>
它不起作用,无法识别通配符。那么有什么选择呢?
Ant 1.5 是非常旧的 Ant 版本。如果至少可以使用 Ant 1.8.2(2010 年发布),则可以使用以下...
<jar destfile="myapp-utility.jar">
<mappedresources>
<fileset dir="target">
<include name="myapp-*/**"/>
</fileset>
<cutdirsmapper dirs="1"/>
</mappedresources>
</jar>
结果<mappedresources>
resource collection wraps the <fileset>
element and then applies a mapper。
确实<fileset>
的dir
不能处理通配符。幸运的是,<include>
可以处理通配符。因此,上面将通配符测试放入<include>
。 **
确保 myapp-*
下的所有文件都匹配。
最后,<cutdirsmapper>
从每个文件中删除 myapp-1.3.5-SNAPSHOT/
部分。
可以使用pathconvert分析通配符规范:
<pathconvert property="myapp.dir">
<dirset dir="target" includes="myapp-*"/>
</pathconvert>
<jar destfile="myapp-utility.jar">
<manifest>
<!-- .... -->
</manifest>
<fileset dir="${myapp.dir}"/>
</jar>
使用蚂蚁 1.5 我正在尝试创建一个 jar 文件,其中包含在产品目录下编译的文件,可以不断更改构建名称
/target
|---myapp-1.3.5-SNAPSHOT
|--- WEB-INF
|---classes
|---i18n
有点挑剔,但我必须制作一个仍保持 web
结构的 jar 文件
|---myapp-utility.jar
|--- WEB-INF
|---classes
|---i18n
这意味着我必须使用通配符来识别具有构建和快照的目录
<jar destfile="myapp-utility.jar">
<manifest>
....
</manifest>
<fileset dir="myapp-**/"/>
</jar>
它不起作用,无法识别通配符。那么有什么选择呢?
Ant 1.5 是非常旧的 Ant 版本。如果至少可以使用 Ant 1.8.2(2010 年发布),则可以使用以下...
<jar destfile="myapp-utility.jar">
<mappedresources>
<fileset dir="target">
<include name="myapp-*/**"/>
</fileset>
<cutdirsmapper dirs="1"/>
</mappedresources>
</jar>
结果<mappedresources>
resource collection wraps the <fileset>
element and then applies a mapper。
确实<fileset>
的dir
不能处理通配符。幸运的是,<include>
可以处理通配符。因此,上面将通配符测试放入<include>
。 **
确保 myapp-*
下的所有文件都匹配。
最后,<cutdirsmapper>
从每个文件中删除 myapp-1.3.5-SNAPSHOT/
部分。
可以使用pathconvert分析通配符规范:
<pathconvert property="myapp.dir">
<dirset dir="target" includes="myapp-*"/>
</pathconvert>
<jar destfile="myapp-utility.jar">
<manifest>
<!-- .... -->
</manifest>
<fileset dir="${myapp.dir}"/>
</jar>