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

Ste*_*ier 21 java ant jar

我有一个ant jar任务:

<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>
Run Code Online (Sandbox Code Playgroud)

如何强制将config.xml文件推送到jar中的特定目录而不是根目录,例如/database/config.xml或类似的东西...

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

kab*_*oom 26

使用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>
Run Code Online (Sandbox Code Playgroud)


Bre*_*ail 5

你想要zipfileset:

<zipfileset dir="${environment.dir}/${environment}" includes="config.xml" prefix="database"/>
Run Code Online (Sandbox Code Playgroud)

要么:

<zipfileset dir="${environment.dir}/${environment}" includes="config.xml" fullpath="database/config.xml"/>
Run Code Online (Sandbox Code Playgroud)