在eclipse中对java工程打包,需要用到清单文件 MANIFEST.MF。该文件中的“Class-Path”指的是列出该工程需要用到的类路径,比如:
Manifest-Version: 1.0
Main-Class: main.Login
Class-Path: . lib\msbase.jar lib\mssqlserver.jar lib\msutil.jar
.\lib\datepicker.jar
.\lib\jna.jar
.\lib\platform.jar
这里面的 .
指的是本文件夹下;lib\msbase.jar lib\mssqlserver.jar
指的是JRE的lib下的jar;剩下的三个指的是本文件夹下的lib文件夹下的jar。
格式
这里要小心MANIFEST.MF的格式。如果所依赖的jar比较多,那么一般都会习惯写为多行(就像上面的例子),要注意的是“Class-Path”的格式:
- 换行后要在前面加一个空格,在每行的后面加了一个空格
- 最后一行的末尾不加空格,按回车,回车后的行要顶格
比如上面的例子:
Manifest-Version: 1.0
Main-Class: main.Login
Class-Path:[空格].[空格]lib\msbase.jar[空格]lib\mssqlserver.jar[空格]lib\msutil.jar[空格]
[空格].\lib\datepicker.jar[空格]
[空格].\lib\jna.jar[空格]
[空格].\lib\platform.jar[回车]
[eclipse会自动在这里加空格,这里没有空格,要顶格]
注意
eclipse打包并不会把你用到的第三方jar打包到生成的jar中,你必须要把用到的第三方jar放到生成的jar文件夹下。比如项目名为Storage
,工程中把所依赖的第三方jar放在lib文件夹下。
生成的jar为storage.jar
,其所在目录为D:\app\
,那么就要在MANIFEST.MF中写上第三方jar的路径,同时将该lib文件夹拷到D:\app\
下: