Maven打包
因为Spring Boot项目内置Tomcat,所以可以打成一个jar包直接运行,而不必再需要安装Tomcat了。
如果用IDEA打包,还得先添加Artifacts:
然后再选择‘Main Class’
显然比较麻烦,而且每次导入项目都得重新添加一次。而使用Maven打包则方便多了,只需在pom.xml文件中加入以下配置:
然后使用右侧Maven窗口Lifecycle中的package即可,注意如果含有多个项目一定要打包根项目(root):
运行时加载不同的配置文件
Spring Boot项目可以有多个不同的配置文件,application.yml、application-dev.yml、application-test.yml等。其中application.yml是默认的配置文件,其他的配置文件可以在application.yml中指定:
例如这里指定的是dev,那么就会读取application-dev.yml文件配置。
运行jar包是会在控制台看见加载的配置文件名称:
之前一直这样运行的没问题,但是那天突然发现项目启动不了了,打印信息如下:
反复检查项目的配置文件,application.yml指定的就是dev,但是为什么运行jar包就变成test了呢?百思不得其解,最后在目录中发现jar包目录下还有一个application.yml文件:
而这个application.yml文件里面配置的是test:
在jar包外面的application.yml文件居然优先起了作用,也是无语了。。。