jar运行时出现错误:Exception in thread "main" java.lang.NoClassDefFoundError

wangonly75 2007-07-27 10:27:59
错误信息如下:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/HelloWorld
(wrong name: HelloWorld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClassSecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

文件结构为:HelloWorld文件夹下HelloWorld.java、HelloWorld.class;并且命令行方式java HelloWorld能够正确执行。与HelloWorld文件夹同级生成helloworld.jar文件。

MENIFEST.mf内容为:HelloWorld.HelloWorld

环境变量classpath中设置为:.;C:\jdk150_04\lib;
...全文
32724 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjzjjz1 2012-05-21
  • 打赏
  • 举报
回复
需要将lib文件夹设置为source folder 设置方式是 右键Lib文件夹 ->build path-> use as source folder
djxssy 2012-04-10
  • 打赏
  • 举报
回复
有可能是你的其他目录里有相同的工程名称,修改你的工程名试下
ok1223fhj 2011-03-06
  • 打赏
  • 举报
回复
输入Java -cp . HelloWorld 就可以了,注意里面的空格
xunzhaofenghua 2010-11-08
  • 打赏
  • 举报
回复
我也出现了这个原因,有谁知道啊
wangonly75 2008-09-05
  • 打赏
  • 举报
回复
我不是在eclipse环境下做的。纯手工编译、打包的。
现已解决:打包时路径不对。
softshiba_1 2007-08-14
  • 打赏
  • 举报
回复
再eclipse里的,所以就跟环境变量没什么关系阿,怎么办,谢谢阿
rorey_008 2007-08-14
  • 打赏
  • 举报
回复
我以前也有这个问题,配置如下:
创建环境变量:
JAVA_HOME=C:\jdk150_04;
PATH=%JAVA_HOME%\bin;%PATH%
CLASSPATH=.;%JAVA_HOME%\lib

祝你好运!!!
softshiba_1 2007-08-14
  • 打赏
  • 举报
回复
哪里出问题啊,给出个详细地解决方案,谢谢!
softshiba_1 2007-08-14
  • 打赏
  • 举报
回复
我也发生这样的问题啊,急救!!1
整个程序都崩溃啊!!
KingNE 2007-08-13
  • 打赏
  • 举报
回复
环境没配好
tricolors 2007-08-13
  • 打赏
  • 举报
回复
文件结构为:HelloWorld文件夹下HelloWorld.java、HelloWorld.class;并且命令行方式java HelloWorld能够正确执行。与HelloWorld文件夹同级生成helloworld.jar文件。

看看你的文件名,是不是文件名错误
qzs19840104 2007-08-13
  • 打赏
  • 举报
回复
同求!
TAN_K 2007-08-12
  • 打赏
  • 举报
回复
是不是忘了import啊..
或者MAIN()没有初始化
yztommyhc 2007-08-12
  • 打赏
  • 举报
回复
保存的文件名字是 HelloWorld.java 么?类的名字是HelloWorld么 ?

cmd后进到了这个类所在的目录了么?dir看一下有这个文件没?

javac HelloWorld.java 然后 java HelloWorld
lovelycatty 2007-08-12
  • 打赏
  • 举报
回复
一般出现NoClassDefFoundError这个时通常是环境设置的问题。
请将tools.jar和dt.jar都加到classpath中。
sswlym 2007-08-12
  • 打赏
  • 举报
回复
你们说的方法不行……
buggub 2007-07-28
  • 打赏
  • 举报
回复
1、main里面变量没初始化

2、把你的程序所在的目录加入到classpath环境变量中试试。


xdw555 2007-07-27
  • 打赏
  • 举报
回复
main里面变量没初始化
明湖居士2018 2007-07-27
  • 打赏
  • 举报
回复
把你的程序所在的目录加入到classpath环境变量中试试。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧