maven多环境配置如下:
<profiles> <profile> <!--开发环境--> <id>dev</id> <properties> <profileActive>dev</profileActive> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <!--测试环境--> <id>test</id> <properties> <profileActive>test</profileActive> </properties> </profile> <profile> <!--正式环境--> <id>prod</id> <properties> <profileActive>prod</profileActive> </properties> </profile> </profiles>
application.yml使用如下:
spring:
profiles:
active: @profileActive@
报错如下:
Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found character '@' that cannot start any token. (Do not use @ for indentation) in 'reader', line 19, column 13: active: @profileActive@
解决方案如下:
<!--build节点增加内容--> <resources> <resource> <directory>src/main/resources</directory> <!--开启过滤,用指定的参数替换directory下的文件中的参数--> <filtering>true</filtering> </resource> </resources>