使用Spring Boot 启动项目报错,错误如下。
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 7, column 13:
active: @profileActive@
原因是我在项目中使用
spring:
jackson:
default-property-inclusion: non_null
profiles:
active: @profileActive@
@profileActive@ 可以使用 maven profile 进行选择不同配置文件进行开发、打包
为了解决上面的问题,我使用如下方法、
第一步:添加maven配置
<profiles>
<!-- dev开发环境配置,pro为生产环境配置 -->
<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>pretest</id>
<properties>
<profileActive>pretest</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
添加完上面的文件后,maven会出现图片的配置。
还是没解决问题,还需要引用pom依赖
第二步:添加pom依赖
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.17</version>
</dependency>
添加依赖后,还需要添加一段配置
第三步:添加maven配置
<build>
<!--build节点增加内容-->
<resources>
<resource>
<directory>src/main/resources</directory>
<!--开启过滤,用指定的参数替换directory下的文件中的参数-->
<filtering>true</filtering>
</resource>
</resources>
</build>
这样,问题就解决了,项目可以启动了。