项目需要设置好几个开发环境,于是在pom文件内加入了如下三个生产环境
<!--分别设置开发,本地,生产环境-->
<profiles>
<!-- 本地环境 -->
<profile>
<!--定义id与maven打包时候的参数对应-->
<id>dev</id>
<activation>
<!--默认激活,true:激活,false:不激活-->
<activeByDefault>true</activeByDefault>
</activation>
<!--配置变量,在property或者yml中使用@xxx@进行引用-->
<properties>
<!--配置变量名及变量值,变量名可以任意定义-->
<environment>dev</environment>
</properties>
</profile>
<!-- 生产环境 -->
<profile>
<id>prod</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<environment>prod</environment>
</properties>
</profile>
<!-- 测试环境 -->
<profile>
<id>test</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<environment>test</environment>
</properties>
</profile>
</profiles>
然后右侧maven也出现了选项
然后将application.yml文件内的active参数值改成@environment@
本以为到这里就大功告成了,没想到报了这个错
while scanning for the next token found character ‘@’ that cannot start any token
网上搜了大量资料才知道原来要这样设置:
在pom文件内的build节点内要添加这段
<!--build节点增加内容-->
<resources>
<resource>
<directory>src/main/resources</directory>
<!--开启过滤,用指定的参数替换directory下的文件中的参数-->
<filtering>true</filtering>
</resource>
</resources>
注意要加在build节点下哦!
然后刷新一下maven,再clean就行了。
网上什么清缓存什么加依赖,都不好使。
如果某一天又报这个错了,那就重新刷新一下maven缓存就行了。