Maven编译项目提示--编码GBK的不可映射字符

java “错误:编码GBK不可映射字符 前言 小编最近在写javaDemo时,使用的是文本文档,后缀名为.java的形式,代码中因为有中文以及特殊符号存在,导致DOS编码后出现错误:“编码GBK不可映射字符”。 javaDemo代码: /* * 运算符之一:算术运算符 * + - * / % (前)++ (后)++ (前)-- (后)-- +(连接符) */ class Test { public static void main(String[] args) { //除号:/ int 阅读详情

转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/52966190

1.问题描述

在maven打包项目后,命令行窗口提示如下错误,外加软件界面中文乱码:

这里写图片描述

当遇到这个异常提示时比较诧异,因为头两天打包时还没有出现这种情况,但是这次打包有修改pom文件的插件。

2.解决办法

在找解决办法前,先了解下产生这个问题的原因,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。所以当命令行窗口中,在使用maven编译项目的时候,就会出现:

XXXX.java:[93,29] 编码GBK的不可映射字符

这个是由于代码使用的UTF-8,而maven编译的时候使用的GBK的缘故。 可以通过修改项目的pom文件,可以告诉maven这个项目使用UTF-8编码来编译。

提供2种修改方式

①第一种是在项目的pom.xml文件中添加下面的配置:

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

②第二种在pom.xml的/project/build/plugins/下的编译插件声明 中加入下面的配置:

<encoding>UTF-8</encoding>

具体位置如下,供参考:

<!-- mvn assembly:assembly打包项目依赖的所有JAR的CLASS -->
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>com.loongshawn.axf.client.ui.MainPage</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.参考资料

本文问题解决方案利用网络资源整合而来。

告别CAPL编程!用Matlab/Simulink+CANoe实现复杂ECU仿真的5个技巧 本文介绍了如何利用Matlab/Simulink与CANoe进行联合仿真,以替代复杂的CAPL编程,高效实现复杂ECU仿真。文章分享了5个核心技巧,涵盖信号映射、模型编译集成、实时参数调整、性能优化及数据分析,帮助算法工程师构建稳定强大的仿真环境,显著提升开发与测试效率。 阅读详情

相关推荐

06 - 深度学习处理器原理

深度学习处理器的重要性在于它们可以加速深度学习任务的执行,从而推动了人工智能的发展。传统的通用处理器虽然可以执行深度学习任务,但它们不够高效,需要消耗大量的能量和时间。深度学习处理器通过硬件加速和特定设计来优化深度学习任务的执行,从而可以提高执行效率、降低能耗和加速训练和推断过程。 深度学习处理器的发展也推动了深度学习算法的创新,因为算法的发展需要硬件的支持和驱动。同时,深度学习处理器的出现也促进了更广泛的应用场景,包括自动驾驶、人脸识别、语音识别、图像识别等领域。因此,深度学习处理器的重要性不仅在于加速

m0_51339444的博客 735

编码GBK不可映射字符的三种解决方法

当我们需要输出中文时,在DOS等运行和调试代码时会出现 study01.java:3: 错误: 编码GBK不可映射字符 System.out.println("浠婂ぉ鐨勬棩鏈熸槸锛?"+day)锛? ^ 或者中文编码错误 原因: Windows CMD和Power Shell的默认编码格式是GBK(汉字内码扩展规范 即 国标),而VScode、Notepad++甚至是记事本等编辑器的默认编码格式是UTF-8。 解决方法

Moum_j的博客 5万+

阿拉善盟区县级别行政区划shp文件

内蒙古,阿拉善盟,区县级别行政区划shp文件,矢量地图,GIS

Maven打包编码GBK不可映射字符(已解决)

编码GBK不可映射字符

weixin_48242059的博客 1484

maven打包时出现编码GBK不可映射字符

maven编译插件中声明正确的字符编码编码——编译使用的字符编码与代码文件使用的字符编码一致!!   安装系统之后,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。   所以在很多中文XP win7上开发的同学,在使用mavenmvn compile)编译项目的时候,就会出现“编码 gbk不可映射字符”:  这个是由于代码使用的UTF-8

u012516914的专栏 8909

maven编译提示编码 GBK不可映射字符

解决这个问题的思路: 编译使用的字符编码与代码文件使用的字符编码一致!!   安装系统之后,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。   所以在很多中文XP win7上开发的同学,在使用mavenmvn compile)编译项目的时候 ,就会出现“编码 gbk不可映射字符 ”: 这个是由于代码使用的UTF-8,而maven编译的时...

至简 370

maven项目编译提示编码GBK不可映射字符

一、问题描述写了个Listener,并实现了ServletContextListener,重写contextInitialized()和contextDestroyed()方法来监听服务的启动和关闭,代码如下:public class MyListener implements ServletContextListener { @Override public void cont...

欧阳方超的专栏 6705

maven项目编译提示编码GBK或UTF-8的不可映射字符

maven项目编译提示编码GBK或UTF-8的不可映射字符” 原因: 需要在maven编译插件中声明正确的字符集,保证编译使用的字符编码与保存代码文件时使用的字符编码一致。 Windows中文系统默认的字符集是GBK,安装的软件一般会使用操作系统的默认字符集,比如用maven编译项目时,maven默认使用GBK字符集,而代码源文件采用UTF-8字符集,才会出现上图所示的问题...

qq_36323538的博客 2153

Maven学习(六)maven使用中遇到的坑

坑1:使用eclipse构建web项目时,pom.xml中 <packaging>war</packaging> 错 eclipse给出的错信息提示是:web.xml is missing and <failOnMissingWebXml> is set to true, 也就是在我们的web-info下没有默认的web.xml文件,可以手动添...

anghuob40177的博客 143

maven项目中程序运行编译的时候出现:编码GBK不可映射字符

由于JDK是国际版的,我们在用javac.exe编译时,编译程序首先会获得我们操作系统默认采用的编码格式(也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式

u013412790的专栏 1856

编码GBK不可映射字符

你使用IDEA Maven 编译错 “编码GBK不可映射字符 ”,你去网上搜解决方法,CSDN一群人瞎鸡儿乱抄,告诉你要去File->Settings->File Encodings,将每个编码都设置为UTF-8,下面设置一下编码格式。甚至有的人还有把文件拿notepad++转换的,你要知道你这样乱改编码很可能会把中文字符变成一大堆符号,之前只是系统不认,一通操作下来很可能你...

FeiChangWuRao的博客 6054

解决java错:“错误:编码GBK不可映射字符

本文探讨了如何解决 Java 编码过程中常见的“编码GBK不可映射字符”错误。主要方法包括:修改源代码文件的编码以匹配编译器,使用 javac -encoding 选项指定编译编码,通过 IDE 配置确保文件编码一致,以及在代码中使用 Unicode 转义字符。针对使用构建工具的开发环境,还可在 Maven 和 Gradle 配置文件中指定编码。在确保文件、编译器、开发环境编码一致的情况下,可以有效避免字符集不匹配问题,从而解决编码错误。通过这些方法,开发者可以更顺畅地处理多语言字符和特殊字符

科技改变人类,技术成就未来 4661

eclipse中maven install提示编码GBK不可映射字符

https://www.cnblogs.com/JKayFeng/p/5888421.html 今天在eclipse中使用Maven编译项目源代码时,结果如下了如下的错误 在Java源码中没有提示任何错,即便是改掉项目编码也是不行,如下图所示: 第一次遇到这个问题,记录一下,分享一下。 解决这个问题的思路: 在maven编译插件中声明正确的字符编码编码——编译使用的字符...

afa的专栏 1123

maven编译 :“编码 GBK不可映射字符

下了个RichFaces的源代码,用Maven2.x编译源代码,Java文件中出现中文,命令行错:“编码 GBK不可映射字符”,编译过程无法继续执行,搜索的信息说是Maven默认用GBK编码造成的。   解决方案:Maven2.x   在pom.xml文件的根节点下添加 Xml代码   properties>           project.build.s

frankding73的专栏 1944

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

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

一些平时在开发过程中遇到的常见问题,分享给大家 1082

Maven异常:maven 编码GBK不可映射字符

Question Maven 在使用mvn package打包时,maven 编码GBK不可映射字符。 Solution 因为貌似maven对于中文的解析默认为GBK,但是我们有的编码GBK不能解析。(GBK为台湾发行的汉字库)所以,我们在解析的时候转换为UTF-8 即可。 方法一 pom.xml文件内加入以下内容: &lt;!-- 指明编译源代码时使用的字符编...

Be yourself. 2355

maven-assembly打包中文乱码问题

背景 在使用maven-assembly-plugin打包时,发现打包后文件中有部分中文出现乱码 解决 经过一番排查之后,发现是mvn编码的问题,window中mvn的默认编码GBK。可通过如下命令查看: C:\Users\2>mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\upupfeng\installed\apache-maven-3.6.3\bin\.. Java ver

upupfeng的博客 2607

IDEA错:编码 GBK不可映射字符

问题描述:在终端运行javac Test.java后错:编码 GBK不可映射字符

qq_49415623的博客 4080

7.Maven打包方式(三种),解决打包中文乱码问题

Maven可以使用“mvn package”指令对项目进行打包,如果使用“java -jar xxx.jar”执行运行jar文件,会出现“no main manifest attribute, in xxx.jar”(没有设置Main-Class)、ClassNotFoundException(找不到依赖包)等错误。打包后会在target目录下生成一个“xxx-jar-with-dependencies.jar”文件,这个文件不但包含了自己项目中的代码和资源,还包含了所有依赖包的内容。

相互学习 共同进步 6039
上一篇: 利用JavaFx开发RIA桌面应用-改变stage的标题栏的图标
下一篇: Log4j配置输出log文件的相对路径
loongshawn
博客等级 码龄11年 640粉丝 250原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值