Maven工程依赖了某个jar包,但还是报了java.lang.ClassNotFoundException的问题

一般出现这种情况,首先看看 pom.xml 文件引用的jar文件有没有损坏、或者下载不完整,打开maven仓库根据依赖地址可以查看。

如果还是出现问题,报 java.lang.ClassNotFoundException ,那么在web容器中无法引用这个jar文件,就把该jar文件复制到web容器中的lib文件夹下面。

 

比如:严重: Allocate exception for servlet Kaptcha

java.lang.ClassNotFoundException:com.google.code.kaptcha.KaptchaServlet

严重java.lang.ClassNotFoundException:com.google.code.kaptcha.KaptchaServlet

经过查找很多方法,Kaptcha.jar包已经用maven引入过,web里面的配置也写好了,但就是一直出现上图错误,后来发现是Artifacts出现了错误,在输出文件的lib中并没有Kaptcha.jar包,然后重新对Artifacts进行配置即可:

1、File ---  project structure --- Artifacts 

严重java.lang.ClassNotFoundException:com.google.code.kaptcha.KaptchaServlet

在WEB-INF下的lib文件里就发现了kaptcha-2.3.2.jar包了。

严重java.lang.ClassNotFoundException:com.google.code.kaptcha.KaptchaServlet

同时Tomcat中也要进行相应的修改:

1、先进入edit configurations...

严重java.lang.ClassNotFoundException:com.google.code.kaptcha.KaptchaServlet

2、点击Deployment,然后点击“+”,选择上一步创建的Artifacts即可,点击ok

严重java.lang.ClassNotFoundException:com.google.code.kaptcha.KaptchaServlet

 

相关文章: