Spring Boot 启动报错:while scanning for the next token found character ‘@‘ that cannot start any token.

使用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会出现图片的配置。
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>

这样,问题就解决了,项目可以启动了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值