如何在特定位置通过 Ant 将文件包含在 Jar 中

2022-09-02 01:12:32

我有一个蚂蚁罐任务:

<target name="jar">
    <jar destfile="${generated.jars.dir}/hello-${environment}.jar">
        <fileset dir="${generated.classes.dir}"/>
        <fileset dir="${environment.dir}/${environment}" includes="config.xml"/>
    </jar>
</target>

我怎样才能强制将config.xml文件推送到jar中的特定目录,而不是在根级别,例如在/database/config.xml或类似的东西中...

PS:这样做的原因是我可以有一个hello-local.jar,hello-dev.jar,hello-qa.jar等。


答案 1

使用如下所示的 zipfileset

<jar destfile="${generated.jars.dir}/hello-${environment}.jar">
    <fileset dir="${generated.classes.dir}"/>
    <zipfileset dir="${environment.dir}/${environment}" 
                includes="config.xml"
                fullpath="database/config.xml"/>
</jar>

答案 2

您想要 zipfileset:

<zipfileset dir="${environment.dir}/${environment}" includes="config.xml" prefix="database"/>

艺术

<zipfileset dir="${environment.dir}/${environment}" includes="config.xml" fullpath="database/config.xml"/>

推荐