在上一篇文档中,可以做一个简单的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>