网上找了好久,都没找到一个解决办法!!!心累!不过问题成功解决啦!!1
一、问题出现情况描述
这两天在用IDEA做一个简单的ssm分模块项目。一直报错!!!java.lang.ClassNotFoundException: Cannot find class: com.juzi.dao.MsPhaseMapper
整整花了我一天的时间才终于把问题解决。简明扼要,先说说问题出现场景。
1、项目基本构建:
其实就分了三层:1、parent 父工程,管理jar包 2、service(可以细分成dao和service的我这里没分)代码实现包:pojo、dao、service 。3、web 代码实现包:controller 。
2、出现问题报错主要因数:
因为service和web分开成两个模块。web模块找不到service模块的xxxMapper接口类。(我专门试了,把service层的pojo、dao、service 三个包放到web层,能够正常运行)
二、报错的现象
1、日志显示:(报错)
2、sevice层输出文件:(正常)
3、web层输出情况:(正常)
4、整个项目输出情况:(有问题!!!!)
可以看到输出的包含service模块的内容只有文件夹,没有文件!!!
3、成功解决的办法
这里声明一下,ecplise运行当前项目是能够正常运行的。所以我把问题定在了IDEA身上。既然输出文件有问题,有是这么有特点,少了一个模块的代码。我想着就打开了Project Structure ->Artifacts 。情况如下图:
输出的classes里面尽然只有web层的!!!!!!
终于找到问题了。解决就简单了。步骤如下图
1、选择我们要添加的输出的service模块
2、添加到输出目录。
完成后如下图:
最后重启tomcat,程序就正常运行啦。
这个问题我网上找了好久,都没找到一样的。这问题写ssm多模块项目应该会很平凡遇到吧。估计其他人都是大佬。还是我太菜了。。。。
如果有帮助记得一键三连!!!一起进步呀!