用Manifest生成可执行的jar文件的几点注意事项

在上一篇文档中,可以做一个简单的Manifest文件,实际在制作过程中还有一些问题需要注意。

1.Class-Path的每行不能超过72个字符

2.除了属性可以从每一行开头外,折行的必须以一个空格开始,否则会出现错误

3.Class-Path一个Manifest只能设置一个,否则会报警告“Class-Path重复”并且classpath不会起作用

4.网上有的文档说Main-class: com.xxx.workbench.ClientMain下面必须要留一个空行,这个实际上是不需要的

5.classpath必须是相对路径,不能是绝对路径,我刚开始就在这上面走了不少弯路。

-------------------------

设置Manifest文件的一些工具。

推荐使用ant,相关的脚本可以参考下面的例子。使用ant可以自动将比较长的classpath折行,这比直接手工编写Manifest文件要方便的多。

 <target name="jar" description="Compile source">
  <jar destfile="d:/test/test.jar" basedir="D:/test/classes">
   <manifest>
    <attribute name="Built-By" value="${user.name}" />
    <attribute name="Main-class" value="com.xxx.platform.portal.workbench.ClientMain" />
    <attribute name="Class-Path" value=". lib/full/Portal.jar /lib/full/activation.jar lib/full/axis.jar lib/full/CVS lib/full/dll lib/full/helpdoc.jar lib/full/iText.jar lib/full/iTextAsian.jar lib/full/jacob.jar lib/full/jacob-dll.jar lib/full/jcommon-1.0.0-pre2.jar lib/full/jface.jar lib/full/jfacetext.jar lib/full/jfreechart-1.0.0-pre2.jar lib/full/jh.jar lib/full/jqintf.jar lib/full/jxl.jar lib/full/LinearBarCode.jar lib/full/LookAndFeel.jar lib/full/mail.jar lib/full/neu_cl.jar lib/full/OracleJdbcDriver9i.jar lib/full/Portal.jar lib/full/rrr.jar lib/full/ReportAndPrint.jar lib/full/resource.jar lib/full/runtime.jar lib/full/soap.jar lib/full/swt-patch.jar lib/full/swt.jar lib/full/swt-win32-3007.jar lib/full/weblogic8_simple.jar lib/full/xml.jar " />
   </manifest>
  </jar>
 </target>

你可能感兴趣的:(用Manifest生成可执行的jar文件的几点注意事项)