我有一个场景,我试图build.xml
在多个项目中重用同一个文件。在每种情况下,最终目标都是dist
JAR 将所有内容都完成。唯一的区别是一些项目有一个src/main/java/META-INF/*
目录,而另一些则没有(只有一个src/main/java/*
目录)。
如果构建看到可用的目录,我想使用 Ant-Contrib<if/>
任务来选择性地定义一个目录。所以是这样的:META-INF/
src/main/java/META-INF/*
<jar jarfile="myapp.jar">
<if>
<available file="src/main/java/META-INF" />
<then>
<!--
Copy everything from src/main/java/META-INF into
the JAR's META-INF directory.
But how?!?
-->
<echo message="I'm trying to copy META-INF!" />
</then>
</if>
</jar>
但我在这里对两件事感到窒息:
- 当我运行这个目标时,我得到一个构建异常,指出我不能
<if/>
在<jar/>
任务中嵌套一个;和 - 我不确定如何配置任务以在类路径的根目录
<jar/>
创建目录,并将所有内容复制到其中。META-INF
src/main/java/META-INF
有什么想法吗?提前致谢。