在gradle项目中,编译项目时,如上报“ 错误: 编码GBK的不可映 射字符” 。这是因为在gradle项目中,默认使用的是系统的字符编码,而windows系统的中文系统是GBK编码。我在这个项目中,设置的是UTF-8编码,才导致上图的报错信息。这种情况下,解决方案是给gradle项目设置编码。
在gradle项目支持中,有以下方案可以设置gradle项目的编码:
**方案一**:在build.gradle配置方案中添加编码设置的代码,如下:
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
如下图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190216104539815.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTU2MDE1,size_16,color_FFFFFF,t_70) 这样,项目打包时,java文件就会以UTF-8编码编译正常了。
方案二::
将gradle的默认编码修改为UTF-8,使所有项目的java编码都是统一UTF-8编码,而不用每个项目进行配置。
到gradle安装目录D:\Java\gradle-4.8.1\bin目录下的gradle.bat文件,修改12行附近的代码为
**set DEFAULT_JVM_OPTS="Dfile.encoding=UTF-8"**
同时使用notepad++之类的软件打开gradle文件,编辑第10行左右的代码为
**set DEFAULT_JVM_OPTS="Dfile.encoding=UTF-8"**
这样就将gradle默认字符编码修改为UTF-8了
由于项目的发布编码不一定是固定不变的,需要程序员编译调试和灵活设置,通常使用方案一。