解决org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found character '@'

1、问题


运行springboot项目,遇到了如下的错误
org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found character '@' 。

这是因为我在pom.xml中配置了

<profiles>
		<profile>
			<id>dev</id>
			<properties>
				<env>dev</env>
				<mysql.host>172.30.254.12</mysql.host>
				<mysql.port>3306</mysql.port>
				<mysql.user>root</mysql.user>
				<mysql.password>123456</mysql.password>
			</properties>
                        **<activation>**
**				<activeByDefault>true</activeByDefault>**
**			</activation>**
		</profile>
</profiles>

然后,我希望在application.yml中通过 %mysql.host% 得到 profile 里边配置的mysql.host属性。

但是,当项目启动之后,就报出了上面的错误。

2、解决办法


从网上搜了一下,确实有人曾经遇到了类似的问题,他文章中讲到 maven reimport 一下就可以解决。

可是,在我的案例中真实的情况不是这样的,真实的原因是 pom的profile中没有增加activation节点,如上面代码中的加粗部分所示。当我后来搞清楚了真实原因后,增加了activation节点,问题就得到了彻底的解决。





posted @   zhangzl419  阅读(4959)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示