nacos配置文件中注解与中文导致打包失败

文章描述了一个开发人员在使用BladeX框架进行微服务开发时遇到的打包错误,问题涉及到Maven的cleaninstall命令、配置文件中的中文注解、YAML解析错误以及数据库连接问题。通过排查,发现配置文件中的中文注释,特别是Swagger配置里的中文,会导致打包失败。去除所有中文注释后,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.省流

打包报错:

connect error, url ${...}, driverClass com.mysql.cj.jdbc.Driver

java.nio.charset.MalformedInputException: Input length = 1

以及显示一堆配置文件的情况下,

检查是否是配置文件中#的注解与中文导致的。

2.介绍

本项目采用BladeX框架,项目结构是微服务,配置中心nacos。

父模块为:BladeX,子模块为mtech-farmmall、blade-flow及其他。

出现问题为:服务启动正常,打包报错。

3.记录

在mtech-farmmall下执行mvn clean package命令时报错,百度后发现模块为子模块的情况下使用mvn clean install命令。

使用mvn clean install命令后会卡住,程序一直在运行,执行到:

https://www.dcm4che.org/maven2/org/springblade/Downloading from dcm4che-repo:
mtech-farmmall-api/2.9.1.RELEASE/mtech-farmmall-api-2.9.1.RELEASE.pom

执行完成后报错:

头疼英文,看了好久发现好像没有什么有用的信息。

再百度过后,发现有说需要在父模块先进行mvn clean install操作才能在各子模块进行打包操作。

在父模块BladeX下进行mvn clean install操作,报错:

Caused by: java.sql.SQLException: connect error, url ${blade.datasource.flow.dev.url}, driverClass com.mysql.cj.jdbc.Driver

检查发现blade-flow模块报错,因此单独对blade-flow模块进行mvn clean install命令,似乎与在父模块执行命令时报的错一样:

java.sql.SQLException: connect error, url ${blade.datasource.flow.dev.url},driverClass com.mysql.cj.jdbc.Driver
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

而单独启动blade-flow服务时正常,检查nacos上的{blade.datasource.flow.dev.url}这段配置同样没问题。

所以根源在于如何解决blade-flow模块中mvn clean install执行后报错的问题。

查了如何解决org.yaml.snakeyaml.error.YAMLException的博客,说是去掉注释中文。

但去掉所有注释后报错没有变化。

不对,仔细检查过后发现还有swagger的配置还有中文。

swagger:
  title: BladeX 接口文档系统
  description: BladeX 接口文档系统
  version: 2.9.1.RELEASE

再次修改后打包,blade-flow成功打包了!

[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:16 min

会不会是只是swagger配置的原因?

重新将配置文件复原,单独去掉swagger配置内的中文。

打包报错了...是一样的错。

所以配置内的中文也是导致报错的一部分。

我将所有配置文件内的中文去掉,发现又报错了。

检查了之后,发现注释也可能导致报错。

在我点击确认发布前,发现nacos早就已经在提示我了,红色划出的就是报错的原因。

去掉后,重新打包,blade-flow内执行mvn clean install打包成功,在父模块BladeX执行mvn clean package打包成功。

到mtech-farmmall文件目录下查看,已经生成jar包。

总结,配置内的注解与中文可能导致打包报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值