java.lang.ClassNotFoundException的解决方法

Posted kret

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.lang.ClassNotFoundException的解决方法相关的知识,希望对你有一定的参考价值。

 

出现这个问题的原因可能很多,但是最终原因都是部署的项目文件中没有这个类包。

那么出错的点在哪呢?逐一排除!

1.首先在项目文件中没有添加相应的jar包,可以在maven dependencis文件夹中看是否有。如果没有,在pom文件添加依赖配置即可;如果有,还是出现问题转第二步

2.在maven的本地仓库中找到对应的jar包文件,双击试图打开它,如果出现报错说文件已经损坏或者不完整(我猜测可能是以前maven下载的时候因为网络的原因中途断掉没有下载完成,

 下次pom在maven仓库引入本地jar包的时候不会再从官网下载,直接拿的是上次那个残缺文件,所以会出错),解决办法就是把这个jar包文件删除,重新update pom文件,让maven重新下载这个jar到本地仓库。

   如果发现本地仓库的这个jar包打开也不会报错,那么转第三步。

3.最后的原因是没有将maven工程的jar包发布到部署的项目文件中。进入到tomcat的部署路径.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebapps下检查了一下,发

 现工程部署后在WEB-INF文件夹下没有生成lib目录,正常情况下,会生成lib目录并把工程的所有依赖jar包都部署到该目录下。

解决方案:

1).右键点击项目--选择Properties

选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries。如下图所示:

技术分享图片

2).点击Next,选择Maven Dependencies

技术分享图片

3)点击Finish,然后可以看到已经把Maven Dependencies添加到Web应用结构中了

技术分享图片

 

操作完后,重新部署工程,不再报错了。然后我们再到.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebapps目录下,发现工程WEB-INF目录下自动生成了lib目录,并且所有的依赖jar包也都已经部署进来。问题因此解决。

以上是关于java.lang.ClassNotFoundException的解决方法的主要内容,如果未能解决你的问题,请参考以下文章