加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Ant覆盖自定义清单文件

发布时间:2020-12-14 05:59:22 所属栏目:Java 来源:网络整理
导读:我正在创建一个带有Ant的jar,它也使用自定义清单文件. build.xml文件正确构建所有内容.但是,当我检查jar中的清单文件时,我的属性不存在.看起来它被替换为Ant构建的默认MANIFEST.MF文件.我的构建文件如下: ?xml version="1.0" ? property name="src" locatio
我正在创建一个带有Ant的jar,它也使用自定义清单文件. build.xml文件正确构建所有内容.但是,当我检查jar中的清单文件时,我的属性不存在.看起来它被替换为Ant构建的默认MANIFEST.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 MANIFEST.MF文件?

解决方法

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

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读