Maven学习总结(十)——使用Maven编译项目gbk的不可映射问题
2019独角兽企业重金招聘Python工程师标准>>>
Maven学习总结(十)——使用Maven编译项目gbk的不可映射问题
一、问题描述
今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误
百思不得其解啊,java源代码在MyEclipse中显示是没有任何错误的,可是执行"maven install"命令编译项目时就会出现上述的错误,导致项目编译失败。这个问题还是第一次遇到,还好在这里http://capslk.iteye.com/blog/1419958看到了解决问题的办法。
二、解决办法
解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符集编码与代码文件使用的字符集编码一致!!
安装系统之后,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。所以当在中文XP或者win7系统开发,在使用maven(mvn compile)编译项目的时候,就会出现“编码 gbk 的不可映射字符”: 这个是由于代码使用的UTF-8,而maven编译的时候使用的GBK的缘故。 可以通过修改项目的pom文件,可以告诉maven这个项目使用UTF-8编码来编译。在项目的pom.xml文件中添加下面的配置:
1 <!-- 指明编译源代码时使用的字符编码,maven编译的时候默认使用的GBK编码, 通过project.build.sourceEncoding属性设置字符编码,告诉maven这个项目使用UTF-8来编译 -->
2 <properties>
3 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4 </properties>
或者在pom.xml的/project/build/plugins/下的编译插件声明 中加入下面的配置:
1 <encoding>utf8</encoding>
即:
1 <plugin>
2 <artifactId>maven-compiler-plugin</artifactId>
3 <configuration>
4 <source>1.6</source>
5 <target>1.6</target>
6 <!-- 指明编译源代码时使用的字符编码,
7 maven编译的时候默认使用的GBK编码,
8 通过encoding属性设置字符编码,
9 告诉maven这个项目使用UTF-8来编译 -->
10 <encoding>utf8</encoding>
11 </configuration>
12 </plugin>
这两种方案都可以解决上述的问题,可以根据个人习惯来设置,如下图所示方式是采用配置<project.build.sourceEncoding>属性来指明编译采用的字符编码。
今天被这个问题折腾够久了,还好及时找到了解决办法,在此记录一下解决方案。
转载于:https://my.oschina.net/zhanghaiyang/blog/593035
Maven学习总结(十)——使用Maven编译项目gbk的不可映射问题相关推荐
- Maven学习总结(10)——使用Maven编译项目gbk的不可映射问题
Maven学习总结(十)--使用Maven编译项目gbk的不可映射问题 一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误 百思不得其解啊,java源代码在M ...
- Maven学习总结(八)——使用Maven构建多模块项目
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(八)--使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分 ...
- Maven学习(十四)profile标签
Maven学习(十四)profile标签 1.profile概述 ①单词释义 ②项目的不同运行环境 ②默认profile 2.profile配置 ①外部视角:配置文件 ②内部实现:具体标签 [1]pr ...
- Maven学习(三)————Maven核心概念(二)
引言 承接上一篇<Maven学习(二)----Maven核心概念(一)>,介绍 Maven 生命周期.插件.目标.继承.聚合等一些概念. 一.Maven 生命周期 1.1 理解 Mave ...
- Maven 学习 (0) Maven 简介
2019独角兽企业重金招聘Python工程师标准>>> Maven 学习 (0) Maven 简介 什么是 Maven? Apache Maven 是一个软件项目的管理和理解工具.M ...
- javac编译 编码GBK的不可映射字符
javac编译 编码GBK的不可映射字符 时间:2015-02-02 17:19:38 阅读:8928 评论:0 收藏:0 [点我收藏+] 标签: 使用命令行j ...
- maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目
maven学习笔记 一.什么是maven Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Life ...
- Maven学习(一)————Maven技术概述
引言 在过去的项目开发中,存在很多实操性的痛点: 1.一个项目只通过一个巨大的java工程来开发,随着模块的增多,工程也变得异常庞大,不利于分工和管理. 2.过去需要的第三方 api 接口需要通过手动 ...
- maven学习(6)-Maven依赖范围
一.maven依赖范围: classpath 分为三种:编译classpath , 测试classpath , 运行classpathScope 选项如下: Compile:编译依赖范围.默认就是co ...
最新文章
- 记《浪潮之巅》-第一版-12.短暂的春秋--与机会失之交臂的公司之一太阳公司(sun microsystems)...
- columnproperty server sql_导出SQL Server数据库表中字段的说明/备注
- 怎么用c语言画出坐标曲线,c语言打印贝塞尔曲线坐标(三阶)
- java 命令 乱码_解决java 命令行乱码的问题
- 【uni-app】自定义导航栏/标题栏
- 提交官方MapReduce作业到YARN
- SAP Hybris和ABAP Netweaver里的DAO(Data access object)
- Java代理初学者指南
- 计算机音乐奔跑,跑起来!100首最适合跑步的音乐
- Facebook 默认开发环境采用 VS Code
- 数据结构与算法之-----向量(Vector)
- java中选择结构有哪些_Java中的选择结构
- chrome linux 历史版本安装
- 网线分类及如何选择?
- 支付宝当面付扫码支付支付后不回调_【支付宝支付】支付宝手机网站支付流程...
- 搭建ASP环境-win7安装IIS并运行ASP程序
- XSS靶场(二)xss.haozi
- 1字符集 iso latin_附件一、ISO Latin-1字符集
- 计算机中系统更新是指,Mac电脑操作系统更新了什么功能
- python之pexpect实现自动交互
热门文章
- 台式无线网卡管理服务器,台式电脑设置wifi上网
- eclipse导入github项目提示没有发现项目_eclipse clone克隆github远程库工程到本地
- 廊坊学院报名计算机二级,2021上半年廊坊市计算机二级报名时间|网上报名入口【1月6日开通】...
- centos下安装mysql_centos下安装mysql服务器的方法
- android 原生分享界面_索尼PlayStation App获得语音聊天功能和新的UI界面
- 打工人一次性考过高项的备考指南(52.50.50)
- 2021(上)软考打印准考证时间及操作步骤
- 《系统集成项目管理工程师》必背100个知识点-38资源平滑和资源平衡
- 笔记-高项案例题-2017年下-整体管理-变更管理
- 笔记-项目质量管理-质量保证和质量控制(信管网)