自己用这个命令jar cvfm test.jar manifest.mf MyJava 做了一个jar包。
mainfest.mf的内容是Manifest-Version: 1.0
Main-Class: MyJava.Test
Created-By: Hanicmainfest.mf和目录MyJava是在同一个目录下java -jar test.jar运行时报错,找不到或无法加载主类 MyJava.Test。但是这个程序不做成jar包时,用javac 跟java命令可以编译运行。
mainfest.mf的内容是Manifest-Version: 1.0
Main-Class: MyJava.Test
Created-By: Hanicmainfest.mf和目录MyJava是在同一个目录下java -jar test.jar运行时报错,找不到或无法加载主类 MyJava.Test。但是这个程序不做成jar包时,用javac 跟java命令可以编译运行。
而MyJava(你的package)目录要放在META-INF目录外。
目录显示如下:
META-INF/
META-INF/MANIFEST>MF
里面没有我的类文件,是不是不正常?
方式打,学习的好方法
分析下错误原因吧。
首先是根据huntor坛友提示的,发现目录里面少class文件,于是发现制作java的命令错误,应改为:
jar cvfm test.jar manifest.mf MyJava.class
然后是
manifest.mf中的
Main-Class: MyJava.Test 这句不对, 首先改成了Main-Class: MyJava.class 还是不对。最后改成了Main-Class: MyJava 问题解决。小小问题浪费了我好长时间,不过总算解决了。
自然报错
检查以下吧