我这里想做个名字为smile的jar包,包含一个含main方法的FaceFrame类和它用到的其他jar包。FaceFrame在faceframe包里。
1) 用 jar cf smile.jar faceframe
这里faceframe是目录,里面包含所写的类FaceFrame。
生成的smile.jar里自动生成了META-INF目录,和一个MANIFEST.MF文件,内容如下:
Manifest-Version: 1.0
Created-By: 1.7.0 (Oracle Corporation)
2) 用 jar -jar smile.jar 执行,显示没有指定 main class.
解压smile.jar到smile目录,把里面的MANIFEST.MF文件,添加一行:
Main-Class: faceframe.FaceFrame
用 jar cf smile.jar smile 生成新的smile.jar,发现MANIFEST.MF依旧没有Main-Class: faceframe.FaceFrame, 原来被覆盖了。
3) 用 jar cmf MANIFEST.MF smile.jar faceframe
生成smile.jar,运行,又有新问题,找不到它用到的其他包的类;
4) 在MANIFEST.MF添加它用到的jar包的路径。
Class-Path: beansbinding-1.2.1.jar FaceBe
运行成功! :)))))