关于jar打包程序的问题
我编写了一个java小程序,想把它打包成可执行的jar文件。
命令提示符的系统路径是D:\javaWorkplace,在这个路径下的文件目录结构如下:
homework
Chopsticks.class
Main.class
Philosopher.class
myManifest.mf
其中缩进表示子文件夹或文件,由于Main.class 文件是我的主类文件,所以我为清单文件myManifest.mf设置键值如下:
Main-Class: homework.Main
通过命令提示符输入命令
D:\javaWorkplace> jar cvfm homework.jar myManifest.mf -C homework/ .
得到结果:
标明清单(manifest)
增加:homework/./(读入= 0) (写出= 0)(存储了 0%)
增加:homework/./Chopsticks.class(读入= 834) (写出= 526)(压缩了 36%)
增加:homework/./Philosopher.class(读入= 1663) (写出= 955)(压缩了 42%)
增加:homework/./Main.class(读入= 4509) (写出= 2337)(压缩了 48%)
于是在D:\javaWorkplace下产生了homework.jar文件,但是双击之后发现错误:
Could not find the main class.Program will exit!
请问这是怎么一回事??
我的Main.class是可以运行的,在命令提示符中输入命令
D:\javaWorkplace> java homework.Main
结果可以运行
而输入命令
D:\javaWorkplace> java -jar homework.jar
得到下面的出错信息
Exception in thread "main "
java.lang.NoClassDefFoundError: homework/Main
------解决方案--------------------你那个命令只把类打进去了,homework包没进去,你可以直接用rar打开jar文件看看的
------解决方案--------------------楼上说的是
homework文件夹也要打进去,包是不能缺的
------解决方案--------------------学习了
不过我的jar文件为什么双击打不开啊?有图形界面,但是用命令的方式可以执行
双击的话就是rar显示里面包含的文件
------解决方案--------------------双击本来就打不开。
------解决方案--------------------双击运行`````汗,长见识了``
------解决方案--------------------又学到了