如何使用Ant脚本将XML文件包含到jar的根目录中



我在使用Ant创建.jar归档文件时遇到了以下问题:

在Eclipse中,我有一个名为AtmosAdampter的项目,我有以下Ant脚本,用于创建atmosadapter.jar文件:

<?xml version="1.0"?>
<project default="default">
    <!-- ============================================ -->
    <!-- Load build properties                        -->
    <!-- ============================================ -->
    <property name="project.buildfile" value="../../../../../CrystalIceGUI/Project/build.num" />
    <property file="${project.buildfile}" />
    <property file="../../../../../CrystalIceGUI/Project/info.properties" />
    <!-- ============================================ -->
    <!-- Specify the classpath                        -->
    <!-- ============================================ -->
    <path id="project.classpath">
        <fileset dir="../../../../../SharedLib/">
            <include name="**/*.jar" />
        </fileset>
    </path>
    <!-- ============================================ -->
    <!-- The default target                           -->
    <!-- ============================================ -->
    <target name="default" depends="jar" />
    <!-- Elimina le cartelle contenenti le classi compilate ed i jar -->
    <target name="clean">
        <echo message="Into AtmosAdapter build.xml clean target" />
        <!-- <delete dir="../../Release" /> -->
        <delete file="../../Release/*.jar" />
        <!-- Elimina directory del jar finale -->
        <delete dir="bin" />
        <!-- Elimina directory delle classi compilate -->
    </target>
    <target name="compile" depends="clean">
        <echo message="Into AtmosAdapter build.xml compile target" />
        <mkdir dir="bin" />
        <javac srcdir="src" destdir="bin" classpathref="project.classpath" />
    </target>
    <target name="jar" description="Packs classes of AtmosAdapter" depends="compile">
        <jar destfile="../../Release/atmosadapter.jar" index="false">
            <fileset dir="bin" />
            <manifest>
                <attribute name="Created-By" value="${info.software.author}" />
            </manifest>
        </jar>
    </target>
</project>

问题是,在Eclipse AtmosAdapter项目中,我在src文件夹中有一个settings.xml文件。因此,在Eclipse中,项目具有以下结构:

AtmosAdapter -> src -> settings.xml

问题是,使用前面的Ant脚本时,我没有将settings.xml文件放入.jar文件的根目录。

我怎么做才能插入这个文件?

<jar>任务可以接受多个<fileset>任务:

<jar destfile="../../Release/atmosadapter.jar" index="false">
    <fileset dir="bin" />
    <fileset dir="src" includes="settings.xml" />
    <manifest>
        <attribute name="Created-By" value="${info.software.author}" />
    </manifest>
</jar>

最新更新