Spring Boot项目启动有两种方式:
1. 直接运行application.java入口类
2. 用maven插件启动:springboot:run
第一种启动方式可以直接debug调试,但是第一种启动方式是找不到静态的网页资源文件的,跟spring 的插件thymeleaf (代替mvc)冲突,就无法网页访问 .jsp 文件
第二种启动方式可以避免这个问题,但是这种启动方式idea默认是不提供调试功能的,这时候就需要进行一些配置了
具体配置如下:
1. 在pom.xml 添加remote debug的属性
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
</jvmArguments>
</configuration>
</plugin>
</plugins>
</build>
2.在 Edit configuration 中, 添加一个remote的item
2.1 不用怎么改,用默认的就行
2.2 然后启动自己的项目
此时控制台显示如下:
2.3 然后再把刚才配置的那个Debug启动了 (要先启动项目,然后再启动debug,要启动两次,略显麻烦。。)
2.4 然后就可以添加断点,浏览器访问页面就会停在断点处了
总结起来就是在pom文件中添加remote debug的属性、配置一个远程remote、启动自己项目、启动配置的远程remote、添加断点、访问测试。