问题解决
首先排除配置文件的问题,项目配置文件的确是按照Spring多profile文件形式编写的,包含application.yml和application-dev.yml,而且在application.yml中指定了profile为dev:spring.profiles.active=dev。
查看pom, 发现打包类型用的是pom。
删除这一行,再次运行,就不会报no active profile set,看来就是这个地方的问题了。
原因分析
maven常用打包类型有三种,除了pom,还有jar和war, 不显式地指定的话默认为jar。
- pom的意思是项目里没有java代码,也不执行任何代码,只是为了聚合工程或传递依赖用的,一般用在父项目,所以并不会寻找配置文件。
- maven 默认的打包类型为 jar,用于需要执行的子项目,打包类型为jar包。
- 和jar的区别在于war包用于在容器中部署,如tomcat。