SpringBoot maven多环境打包应用时
application.yml 中
spring:
profiles:
active: @profilesActive@
报错:found character '@' that cannot start any token. (Do not use @ for indentation)
在pom.xm 中添加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
后还是报错,不过是在文件打开后提示错误,文件关闭后错误就没了,于是 不管报错,直接执行命了 mvn clean package -P prod
打包后发现 application.yml中占位符替换成功了,之后在找原因 看到spring-boot-starter-parent 了也定义了 <resource.delimiter>@</resource.delimiter>
于是去掉 pom.xml 中的 plugin ,重新执行命令 打包同样成功了,但是打开application.yml文件 还是提示错误,刷新maven 错误还是在,虽然不影响使用,但是看着不舒服,
无奈之下将<delimiter>@</delimiter>换成<delimiter>$[*]</delimiter>,错误没了,功能也正常了。
@为什么在.yml文件中会提示错误,还是找不到原因,希望知道的大佬告知下,感谢。。。