在上一篇文檔中,可以做一個簡單的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>