IDEA Maven Web项目 ClassNotFound解决方法

in 网站建设
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

异常错误

最近在学习SSM框架,遇到的跟找不到Class有关的异常错误有:

我使用的是Maven dependency:

<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper -->  
<dependency\>  
 <groupId\>tk.mybatis</groupId\>  
 <artifactId\>mapper</artifactId\>  
 <version\>4.1.5</version\>  
</dependency\>

然后重启TOMCAT服务器遇到这个错误:

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find

特地查找了out/artifacts/项目名/WEB-INF/lib有没有tk.mybatis对应的jar包(名为mapper-4.1.5.jar),结果发现lib没有这个jar包。

我无法解决,于是使用IDEA Maven的Reimport All Maven Projects

image-20191220164440306.png

再次启动TOMCAT,然后又报错,报错如下:

ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

于是,我又去查看out目录:lib没有一个jar包。

image-20191220164802307.png

这个问题(在JavaWeb中out文件夹出现某个文件缺失)经常出现。

这个问题还可以让Js文件加载失败,报404错误,具体情况可以看如下链接:

加载js失败的解决方法

遇到缺失lib包后,记得按如下步骤重新添加lib目录到artifacts

Ctrl+Alt+Shift+S进入Project Structure ---> 定位到出问题的Web Application: Exploded

image-20191220170220368.png

image-20191220170314535.png

image-20191220170503665.png

image-20191220170755365.png

这样out下lib的jar完整了。

什么是artifact你可以参考:Artifact (software development) - Wikipedia)

简单来说,artifact可以指开发过程中的class diagrams,用例,UML模型,设计文档,开发需求等。它也可以指的是开发进程中的项目计划、商业案例、风险评估。总之,它是开发软件过程中的有形可见的副产品。

对于端用户而言,artifact可以指的是Application或者复杂的数据对象(端用户创建,端用户也无须知道开发语言)。

就我个人理解,我们在IDEA配置Artifacts后,就相当于部署了一个"表现环境",通过这个,我们的Web能在TOMACT跑起来。

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看