Java Spring Boot 一些调试技巧
配置文件的管理
有的时候我们希望开发环境和测试环境的配置文件放在一起可以快速切换
spring boot 为我们提供了很方便的的选项
在 application.properties 中只需要添加属性 spring.profiles.active=dev
这样spring boot 就会切换选择 对应的配置文件 application-dev.properties,把里面的属性覆盖当前的配置文件
除此之外 @Profile({"dev"}) 注册的组件就会被扫描 这样非常适合调试
如果打包之后,我们还可以在参数中选择配置,非常便捷而且不用重新打包
java -jar xxweb.jar --spring.profiles.active=online
最常用的属性就是 --server.port=8090 (端口号)
静态资源的管理
我们一般比较喜欢把spring-boot打包成jar之后再部署,通常情况下静态资源文件也会被打包,如果前端资源太大,或者调试的时候想要动态更改前端文件,那么可以使用以下配置属性
这样就不用在本地修改完还要打包了,可以直接上传到服务器上
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${user.dir}../static/
本地没太大问题,不过笔者尝试过在打包成jar后不太好用,设置为启动参数就完美解决了
远程服务器调试
spring-boot打包成jar很方便,但是如果项目依赖太多,jar包就会很大,放在测试环境机器上每次都要先打包好久,然后再上传好久,但是自己只改了一两个class文件,太不爽了
我们可以把 spring-boot 的jar包打开
jar -xvf xxxweb.jar
这个命令会把jar所有的文件copy到当前目录
然后把自己改的文件覆盖对应的class,然后可以打包,也可以直接启动
打包:
jar -cvfM0 xxxweb.jar ./
直接启动
java org.springframework.boot.loader.JarLauncher