一 搭建springboot服务
搭建一个springboot服务比较简单,推荐一篇朋友写的博客:使用idea创建一个SpringBoot项目
想做简单测试的同学看上面推荐的博客就可以了
因为我需要利用工作现有的一些能力,所以需要安装springboot1.x版本,起初是打算新建个项目。然后依赖copy其他项目的。
二 踩坑记录
1 错误姿势创建springboot项目(开头就GG)
创建一个新项目是这样创建的(一路next下去没有问题)
因为是父子项目
创建moudle的时候也创建成了初始化的Spring Initializr,其实应该选maven。造成的后果就是即使你手动改了子模块的pom.xml,也是不能正常clean install的。
2 项目异常终止
类似于:The following profiles are active: @profileActive:prod的错误
搜了网上的问题都是说没有设置默认的环境变量,其实是设置了的,有两个地方可以设置
在配置文件中设置 在启动类的环境变量中设置
错误的原因是因为spring找不到任意一个配置文件,原因如下图
3 maven项目子模块是灰色的问题(子模块clean install都不生效) 是因为子项目被reimport了,在ieda中重新设置下即可
4 jdk编译和运行的jdk版本默认为1.5(即使你手动改成1.8,下次编译还是1.5)
可以在pom中指定java的版本,这样生成的.iml文件中的版本就是你想要的版本了(编译和运行的时候的时候也就是对应的版本了)
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source> <!-- depending on your project -->
<target>1.8</target>
</configuration>
<groupId>org.apache.maven.plugins</groupId> <!-- or newer version -->
<version>3.5.1</version>
</plugin>
5 项目启动时提示类似的ClassNotFoundException: org.springframework.context.event.GenericApplicationListener
这个是因为springboot的版本冲突,如果是新建的项目不会有这种问题。如果是用了公司封装的maven依赖,并且自己引入了一些依赖,会有这个问题。一般引入springboot,就不需要手动引入spring相关的依赖的。重复引入可能会出现上面的问题
建议:优先用脚手架生成项目,需要什么依赖再手动引。仔细diff引入的依赖和已有项目依赖的区别(推荐前者,也是我解决这个问题的方式。)
推荐文章
maven中的依赖管理:Maven依赖中scope的含义
查看预编辑的错误,推荐工具jirbel,破解方式Jrebel 激活 20200610更新
springboot和spring版本的对应关系:springboot依赖springframework版本关系