由于maven分模块开发项目,所以每个模块其实是单独的系统。
而debug时,比如service层会依赖dao,pojo,interface层等,所以需要关联模块间的源码
这里演示taotao-manager-service层debug,其他模块debug配置方法相同。
1.关联模块间的源码依赖
进入debug configuration
选中与项目相关源码
2.设置断点,启动debug
在taotao-manager-service,实现类中加入断点
启动taotao-manager-service debug,taotao-manager-web正常run即可
中间可能会报,dubbo调用服务超时报错。
服务调用超时时间默认1秒,如下:在服务层和表现层都可以设置超时时间。
3.访问项目进入断点
f6下一步。
将鼠标放到想查看的变量上去,如果没有显示,就右键变量选择inspect查看变量值
或者从Variables中查看变量的值
点击这里,即可放行断点
4.淘淘商城07后台商品展示时报的错
商品展示时 表现层会报一个这样的错误,进行debug后,可以很清楚的发现这个错误原因
表现层(taotao-manager-web)抛出没有com.github.pagehelper.Page这个类的异常
在对业务层(taotao-manager-service)进行debug时。
在这里我们可以看到list对象实际上是一个Page类型,这个类是我们在时候pagehelper分页工具,内置的一个类。
在使用pagehelper时,taotao-manager-dao的pom.xml文件中导入pagehelper的依赖,
而taotao-manager-dao与taotao-manager-service属于同一个聚合工程,所以dao中导入后,service不用导入。
所以不会抛出java.lang.ClassNotFoundException: com.github.pagehelper.Page
但是表现层(taotao-manager-web)的pom.xml文件中,没有导入pagehelper的依赖,
会抛出java.lang.ClassNotFoundException: com.github.pagehelper.Page
所以我们在taotao-manager-web的pom.xml文件导入依赖即可
<!-- mybatis分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
</dependency>
重新启动项目,访问商品列表页面,发现报错信息消失。