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的不可映射问题相关推荐

  1. Maven学习总结(10)——使用Maven编译项目gbk的不可映射问题

    Maven学习总结(十)--使用Maven编译项目gbk的不可映射问题 一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误 百思不得其解啊,java源代码在M ...

  2. Maven学习总结(八)——使用Maven构建多模块项目

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(八)--使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分 ...

  3. Maven学习(十四)profile标签

    Maven学习(十四)profile标签 1.profile概述 ①单词释义 ②项目的不同运行环境 ②默认profile 2.profile配置 ①外部视角:配置文件 ②内部实现:具体标签 [1]pr ...

  4. Maven学习(三)————Maven核心概念(二)

    引言 承接上一篇<Maven学习(二)----Maven核心概念(一)>,介绍 Maven  生命周期.插件.目标.继承.聚合等一些概念. 一.Maven 生命周期 1.1 理解 Mave ...

  5. Maven 学习 (0) Maven 简介

    2019独角兽企业重金招聘Python工程师标准>>> Maven 学习 (0) Maven 简介 什么是 Maven? Apache Maven 是一个软件项目的管理和理解工具.M ...

  6. javac编译 编码GBK的不可映射字符

    javac编译 编码GBK的不可映射字符 时间:2015-02-02 17:19:38      阅读:8928      评论:0      收藏:0      [点我收藏+] 标签: 使用命令行j ...

  7. maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目

    maven学习笔记 一.什么是maven Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Life ...

  8. Maven学习(一)————Maven技术概述

    引言 在过去的项目开发中,存在很多实操性的痛点: 1.一个项目只通过一个巨大的java工程来开发,随着模块的增多,工程也变得异常庞大,不利于分工和管理. 2.过去需要的第三方 api 接口需要通过手动 ...

  9. maven学习(6)-Maven依赖范围

    一.maven依赖范围: classpath 分为三种:编译classpath , 测试classpath , 运行classpathScope 选项如下: Compile:编译依赖范围.默认就是co ...

最新文章

  1. 记《浪潮之巅》-第一版-12.短暂的春秋--与机会失之交臂的公司之一太阳公司(sun microsystems)...
  2. columnproperty server sql_导出SQL Server数据库表中字段的说明/备注
  3. 怎么用c语言画出坐标曲线,c语言打印贝塞尔曲线坐标(三阶)
  4. java 命令 乱码_解决java 命令行乱码的问题
  5. 【uni-app】自定义导航栏/标题栏
  6. 提交官方MapReduce作业到YARN
  7. SAP Hybris和ABAP Netweaver里的DAO(Data access object)
  8. Java代理初学者指南
  9. 计算机音乐奔跑,跑起来!100首最适合跑步的音乐
  10. Facebook 默认开发环境采用 VS Code
  11. 数据结构与算法之-----向量(Vector)
  12. java中选择结构有哪些_Java中的选择结构
  13. chrome linux 历史版本安装
  14. 网线分类及如何选择?
  15. 支付宝当面付扫码支付支付后不回调_【支付宝支付】支付宝手机网站支付流程...
  16. 搭建ASP环境-win7安装IIS并运行ASP程序
  17. XSS靶场(二)xss.haozi
  18. 1字符集 iso latin_附件一、ISO Latin-1字符集
  19. 计算机中系统更新是指,Mac电脑操作系统更新了什么功能
  20. python之pexpect实现自动交互

热门文章

  1. 台式无线网卡管理服务器,台式电脑设置wifi上网
  2. eclipse导入github项目提示没有发现项目_eclipse clone克隆github远程库工程到本地
  3. 廊坊学院报名计算机二级,2021上半年廊坊市计算机二级报名时间|网上报名入口【1月6日开通】...
  4. centos下安装mysql_centos下安装mysql服务器的方法
  5. android 原生分享界面_索尼PlayStation App获得语音聊天功能和新的UI界面
  6. 打工人一次性考过高项的备考指南(52.50.50)
  7. 2021(上)软考打印准考证时间及操作步骤
  8. 《系统集成项目管理工程师》必背100个知识点-38资源平滑和资源平衡
  9. 笔记-高项案例题-2017年下-整体管理-变更管理
  10. 笔记-项目质量管理-质量保证和质量控制(信管网)