Ant 重写自定义清单文件



我正在使用 Ant 创建一个也使用自定义清单文件的 jar。 构建.xml文件可以正确构建所有内容。 但是,当我检查 jar 中的清单文件时,我的属性不存在。 看起来它正在被默认清单替换。由蚂蚁构建的MF文件。 我的构建文件如下:

<?xml version="1.0" ?>

<property name="src" location="src" />
<property name="build" location="build" />
<property name="dist" location="dist" />
<target name="clean">
    <delete dir="${build}" />
    <delete dir="${dist}" />
</target>
<target name="main" depends="compile, dist, build">
    <echo>
        Building the .jar file.
    </echo>
</target>
<target name="build">
    <mkdir dir="${build}" />
    <mkdir dir="${build}/META-INF" />
</target>
<target name="compile" depends="build">
    <javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="dist" depends="compile">
    <mkdir dir="${dist}/lib" />
    <manifest file="${build}/META-INF/MANIFEST.MF">
        <attribute name="Class-Path" value="MyGame.jar" />
        <attribute name="Main-Class" value="game.Game"/>    
    </manifest>
    <jar jarfile="${dist}/lib/MyGame.jar" basedir="${build}" />
</target>

我必须更改哪些内容才能指定定制清单而不是缺省 Ant 清单。MF文件?

我相信jar ant任务有一个清单属性,您可以在其中指定要使用的实际文件。在这种情况下,您将引用使用清单任务创建的文件

http://ant.apache.org/manual/Tasks/jar.html

<target name="dist" depends="compile">
    <mkdir dir="${dist}/lib" />
    <manifest file="${build}/META-INF/MANIFEST.MF">
        <attribute name="Class-Path" value="MyGame.jar" />
        <attribute name="Main-Class" value="game.Game"/>  
    </manifest>
    <jar manifest="${build}/META-INF/MANIFEST.MF" jarfile="${dist}/lib/MyGame.jar" basedir="${build}" />
</target>

相关内容

  • 没有找到相关文章

最新更新