在写Web或者Java项目时,如果因为给servlet重命名或者误删.class文件之后就可能会出现这样类似的错误。明明web.xml文件的索引中存在该Java文件,但就是找不类。这是因为重命名之后Java源文件没有自动编译生成对应.class文件。
java.lang.ClassNotFoundException: com.stx.www.Bean.CashBean
解决办法
1.首先把文件预览目录切换成Navigator,在这个目录下可以看到一些细节文件,比如生成的.class文件。
如何切换Navigator文件预览模式
导航条里找到Window—>点击Show View—>点击Other…在搜索框中输入Navigator之后,双击打开Navigator就会出现一个目录结构。
2.项目对应的src目录下一般存放的是Java源文件,在项目的build目录中有个classes文件夹里面存放着src目录下java源文件所对应的.class文件。
Eclipse运行的其实是这些.class(字节码)文件。
通过比对com.stx.www.Bean.CashBean.class确实不存在。所以要解决这个问题就要重编译一下Java文件,生成一个.class文件。
3.那么怎么生成.class文件呢?
一般Eclipse会自动把Java源文件编译成可执行的.class文件,所以只要找到对应的Java源文件中,随便输入个空格或者回车(改动源文件后后保存会自动编译),点击保存,就会自动编译了。
然后在到对应的目录下查看就会发现确实出现了对应的.class文件
4.再次运行发现问题确实成功解决了,程序顺利运行。
5.如果没有自动生成.class文件,可能是设置有问题,或者是jre的路径有问题,可以进行百度解决Eclipe无法自动编译的问题。
除了自动编译还可以手动生成.class文件。
选中项目在导航条中找到Project,如果Build Automatically被选中一般会自动编译.class文件
如果要手动编译就选择Clean…,然后点击Clean,Eclipse就会清理并重新编译该项目的class文件。
在Eclipse的Java项目中出现ClassNotFoundException异常,一般都是对应的class文件找不到。所以只要重新编译下源文件就可以。当然在命令行通过Java自带的javac命令也可以,道理是一样的。工具还是要方便不少。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)