java 控制台程序打包后无法运行 Could not find the main class: cmdjava.jar. Program will exit.

包名字 :cmdjava.jar
是用myeclipse导出的,导出时已经指定了 main class
MANIFEST.MF文件中
Main-Class:指定了 程序的 主函数位置

运行时报错具体如下:
f:\test>java cmdjava.jar
Exception in thread "main" java.lang.NoClassDefFoundError: cmdjava/jar
Caused by: java.lang.ClassNotFoundException: cmdjava.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: cmdjava.jar. Program will exit.
f:\test>java -jar cmdjava.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/ora/test
Caused by: java.lang.ClassNotFoundException: com.ora.test
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
....
Could not find the main class: com.ora.test. Program will exit.
最新回答
陞香洇染

2024-09-14 18:56:06

你的manifest里面到底是咋写的呢

呵呵 你的java命令后面
这样滴
java -jar cmdjava.jar


C:\Documents and Settings\Administrator>java
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
追问
MANIFEST.MF
Manifest-Version: 1.0
Main-Class: com.ora.test

你是说我命令写错了吗
追答
java -jar cmdjava.jar
追问
还是不行啊  按照那个写的啊
我估计是 lib 下面用引用的jar包 没有导进去
可是又不记得怎么引用到项目里了
追答
使用manifest.mf清单文件把lib下面的类加进去

Manifest-Version: 1.0
Class-Path: . \lib\a.jar \lib\b.jar \lib\c.jar
Main-Class: test.class

jar -cvfm cmdjava.jar manifest.mf -C c:\test\ .


何来以后

2024-09-14 12:05:16

可能是jdk的问题