yml配置文件中添加了下面配置
spring:
profiles:
active: @envProperties@
启动会报错:@envProperties@ 启动报错Do not use @ for indentation
maven配置如下:
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<envProperties>dev</envProperties>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<envProperties>test</envProperties>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<envProperties>prod</envProperties>
</properties>
</profile>
</profiles>
解决办法:
一、需要在pom文件中添加以下代码
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>@</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
二、在pom文件添加(我引了这个依赖没做别的处理就好了)
<!-- https://mvnrepository.com/artifact/org.yaml/snakeyaml -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.25</version>
</dependency>
在这里强调一下,当时碰到这个问题的时候再网上看了很多博客,发现大部分都是说用单引号或者双引号引起来,比如
“@envProperties@”,这是错误的,因为用双引号引起来后,会被当成字符串解析,如下图:
这个问题我其实不是第一次碰到,之前碰到过一次,但是我当时是clean,然后重新compile一下就好了,但是这次不管怎样都不好使,所以在网上找了很久,真是一把辛酸泪。