绝对诡异的ClassNotFoundException错误

genphen 2007-02-12 12:32:58
大家好。

我用Eclipse写Java程序。我很确定我要new的类在一个jar里面,并且这个jar肯定已经在classpath里面了。IDE也没有出现任何编译错误。但是我一运行的时候,程序就报ClassNotFoundException。我敢肯定这个类就是一个工具类,没有依赖任何第三方的东西(只依赖jdk),不应该有dependency的问题。更诡异的是,我new另一个jar里面的类,就能够成功,而我自己用eclipse export出来的jar不行(里面的任何一个类都不能被new出来)。太奇怪了。

谁知道这是怎么回事吗?难道eclipse生成的jar文件不被识别?

对了,补充一下,我是在eclipse里面运行tomcat服务器的时候报这个异常。我开始以为我的jar不在tomcat服务器程序的classpath里面,但是另一个jar也不在里面,但是却可以好好的work。这就奇怪了。
...全文
407 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
genphen 2007-02-14
  • 打赏
  • 举报
回复
问题解决了。由于是web项目,应该把jar放到web-inf/lib下面,而不是直接放在项目这一级目录下。之前有个jar可以,是因为我以前把它放到web-inf/lib下面了,之后忘记这个事情了。所以一直出错。

谢谢大家了!
sswhsz 2007-02-13
  • 打赏
  • 举报
回复
Class.forName()的时候抛ClassNotFoundException
如果是new,抛出的应该是NoClassDefFoundError

你确信你使用的是new,抛出的是ClassNotFoundException?
genphen 2007-02-13
  • 打赏
  • 举报
回复
恩,dodozhu的方法不错,我试试。
dodozhu 2007-02-13
  • 打赏
  • 举报
回复
把你的tomcat删除
重新装载一下project试一下
有时候这样的BUG,ECLIPSE会经常出现
换个方法调试一下,或者换个开发环境测试一下,看问题是出在软件上
还是你的程序上
genphen 2007-02-12
  • 打赏
  • 举报
回复
sg552(:))
我应该已经F5,clean然后重新编译过N多次了,应该不是这种问题。我用eclipse也有两年了,我应该不会犯这种错误。也重启过了,因为这个问题已经困扰我两天了。

我怀疑我export jar不对,不知道有没有人有这方面的经历。谢谢。
LYYONAB 2007-02-12
  • 打赏
  • 举报
回复
可能就是没有刷新工程 没有把你的工具类引进工程的原因
  • 打赏
  • 举报
回复
里面的任何一个类都不能被new出来

估计你的环境变量或Eclipse中的设置有问题
enhancer 2007-02-12
  • 打赏
  • 举报
回复
碰到这种情况我一般都是重启机器
wanzyqyy 2007-02-12
  • 打赏
  • 举报
回复
LZ你试试楼上的,应该可以的~~
sg552 2007-02-12
  • 打赏
  • 举报
回复
有的时候确实是这样的,明明在路径下,
人眼都看的清清楚楚,ECLIPSE还是会找不到。

这个时候,可以这样解决:
1. 运行project clean.
2. refresh
3. 把 import a.b.* 改成 import a.b.SomeClass(明确类名字)
然后应该就会好了。呵呵。。。

估计是Eclipse的缓存机制造成的。
另外,可能跟某些插件也有关系。

62,614

社区成员

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

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