解决package:java.nio.charset.MalformedInputException: Input length = 1异常

目录

一、问题重现

二、解决思路

三、最终解决


一、问题重现

        今天本地idea在多模块Maven:package时出现java.nio.charset.MalformedInputException: Input length = 1异常,Maven:clean正常。

二、解决思路

        起初百度说是File Encodings设置成UTF-8后,启动会正常。

        设置完毕后,重新package工程还是报同样的错误信息,细细观察后发现,因为项目使用了nacos管理、读取配置文件,而在配置文件中“# mybatis-plus****”后面是中文注释,但是现在乱码了,所以会不会是package过程中解析远程nacos中的配置文件时出现了问题,那么如果项目没有使用nacos,上述File Encodings方法修改后是不是会启动成功(未尝试)。

        结合网上说大概率是yml中中文备注的原因,所以先将nacos配置文件的中文注释全都删除 (后面有更简便方法,切勿着急删除配置中文注释!!!)。

        再次package项目工程时成功了。

三、最终解决

        配置文件增加注释就是方便咱们理解配置作用,现在给全删了肯定不便以后阅读,所以咱们也可以在父类pom.xml文件中增加配置<argLine>-Dfile.encoding=UTF-8</argLine>,启动项目后也能够正常打包!

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <testFailureIgnore>true</testFailureIgnore>
					<!-- 定义文件编码,否则nacos配置文件中存在中文会报错 -->
          <argLine>-Dfile.encoding=UTF-8</argLine>
        </configuration>
      </plugin>
    </plugins>
  </build>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Caused by: java.nio.charset.MalformedInputException: Input length = 1是一个错误信息,在启动springboot项目时可能会出现。这个错误通常是由于字符编码不统一导致的。 解决这个问题的方法有以下几种: 1. 将application.yml文件的编码格式改为UTF-8。 2. 如果你的application.yml文件是通过把其他类型的文件后缀名直接改为yml生成的,那么你需要将application.yml中的内容复制并删除,然后新建一个application.yml文件,并将复制的内容粘贴进去。这样运行项目就不会报错了。 3. 从根本上解决问题:进入IDEA的设置中,找到Editor -> File Encodings,将编码格式修改为正确的格式,如UTF-8。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [java bug汇总——Caused by: java.nio.charset.MalformedInputException: Input length = 1](https://blog.csdn.net/qq_44633541/article/details/124948573)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [springboot Caused by: java.nio.charset.MalformedInputException: Input length = 1](https://blog.csdn.net/yaoyulan21/article/details/114369416)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值