Maven: 编码GBK的不可映射字符不能编译

使用mvn compile命令,出现错误: 编码GBK的不可映射字符不能编译。这是因为代码或注释中存在中文引起的,一般在ide中会自动处理编译时的字符集,就不会碰到这个错误。这个错误是在生成代码后,其中自动加上了中 文注释,手动删除中文注释处理这个问题太麻烦。这个错误是在命令行执行编译命令才出现的,需要设置编译的字符集,设置方式是:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <encoding>UTF-8</encoding> 
    </configuration> 
</plugin> 

<encoding>UTF-8</encoding>如果不设置的话会用本地操作系统的编码来编译文件。

资源文件的编码设置如下:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
        <encoding>UTF-8</encoding> 
    </configuration> 
</plugin>

设置好maven-compiler-plugin编码再运行mvn compile就没有这个错误了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误是因为在代码中使用了中文字符,而编码格式不匹配导致的。在CMD运行窗口中,默认的编码格式是GBK,而Java程序使用的是Unicode编码方式。这就导致了编码和解码所用的对照表不一致,从而出现了乱码问题。解决这个问题的方法是将Java源文件的编码格式设置为与CMD运行窗口相同的编码格式,比如将Java源文件的编码格式设置为GBK。这样就可以避免编码不匹配导致的错误。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [编码GBK不可映射字符的三种解决方法](https://blog.csdn.net/Moum_j/article/details/123251621)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [JAVA:错误: 编码GBK不可映射字符;错误: 找不到或无法加载主类;](https://blog.csdn.net/qq_44406889/article/details/122638304)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [错误: 编码GBK不可映射字符](https://blog.csdn.net/m0_46687892/article/details/128192817)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值