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

前端之家收集整理的这篇文章主要介绍了java – Ant覆盖自定义清单文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个带有Ant的jar,它也使用自定义清单文件. build.xml文件正确构建所有内容.但是,当我检查jar中的清单文件时,我的属性不存在.看起来它被替换为Ant构建的默认MANIFEST.MF文件.我的构建文件如下:
  1. <?xml version="1.0" ?>
  1. <property name="src" location="src" />
  2. <property name="build" location="build" />
  3. <property name="dist" location="dist" />
  4.  
  5. <target name="clean">
  6. <delete dir="${build}" />
  7. <delete dir="${dist}" />
  8. </target>
  9.  
  10. <target name="main" depends="compile,dist,build">
  11. <echo>
  12. Building the .jar file.
  13. </echo>
  14. </target>
  15.  
  16. <target name="build">
  17. <mkdir dir="${build}" />
  18. <mkdir dir="${build}/Meta-INF" />
  19. </target>
  20.  
  21. <target name="compile" depends="build">
  22. <javac srcdir="${src}" destdir="${build}"/>
  23. </target>
  24.  
  25. <target name="dist" depends="compile">
  26. <mkdir dir="${dist}/lib" />
  27. <manifest file="${build}/Meta-INF/MANIFEST.MF">
  28. <attribute name="Class-Path" value="MyGame.jar" />
  29. <attribute name="Main-Class" value="game.Game"/>
  30. </manifest>
  31.  
  32. <jar jarfile="${dist}/lib/MyGame.jar" basedir="${build}" />
  33.  
  34. </target>

我需要更改什么来指定自定义清单而不是默认的Ant MANIFEST.MF文件

解决方法

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

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

  1. <target name="dist" depends="compile">
  2.  
  3. <mkdir dir="${dist}/lib" />
  4.  
  5. <manifest file="${build}/Meta-INF/MANIFEST.MF">
  6. <attribute name="Class-Path" value="MyGame.jar" />
  7. <attribute name="Main-Class" value="game.Game"/>
  8. </manifest>
  9.  
  10. <jar manifest="${build}/Meta-INF/MANIFEST.MF" jarfile="${dist}/lib/MyGame.jar" basedir="${build}" />
  11.  
  12. </target>

猜你在找的Java相关文章