Jbuilder打包成.jar后,一运行就提示:"could not find the main class,program will exit"。百思不得其解,因为以前打包都没有问题。后来搜遍了sun论坛,才找到了原因。

Jmail是带符号jar(现在还不明白带符号什么意思),其自带META-INF/MANIFEST.MF,所以会出现这种情况,解决方法如下:

正常用Jbuilder打开后,如生成:OT.jar

然后,再用jar -xvf OT.jar,解开这个.jar文件,

然后删除掉 META-INF目录下的:SUN_MICR.RSA和SUN_MICR.SF(因为包含Jmail和Jaf,才有这两个文件,正常是没有的。如果包含其它的jar,不知道是否有这两个) ,然后再打包。

如果这时打包用:jar -cvf OT.JAR *。能打包上,但是不对的,他会生成一个默认的MANIFEST.MF文件,这个文件里面的Main-Class为空,所以这时要指定MANIFEST.MF,命令如下:
jar cvfm OT.jar META-INF/MANIFEST.MF *

这样就可以了。虽然每次打包麻烦,但总算解决了问题。现在还没有更好的办法。


本文转载:CSDN博客