使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法 ——转载...
一、問題描述
今天在MyEclipse中使用Maven編譯項(xiàng)目源代碼時(shí),結(jié)果如下了如下的錯(cuò)誤
百思不得其解啊,java源代碼在MyEclipse中顯示是沒有任何錯(cuò)誤的,可是執(zhí)行"maven install"命令編譯項(xiàng)目時(shí)就會(huì)出現(xiàn)上述的錯(cuò)誤,導(dǎo)致項(xiàng)目編譯失敗。這個(gè)問題還是第一次遇到,還好在這里http://capslk.iteye.com/blog/1419958看到了解決問題的辦法。
二、解決辦法
解決這個(gè)問題的思路: 在maven的編譯插件中聲明正確的字符集編碼編碼——編譯使用的字符集編碼與代碼文件使用的字符集編碼一致!!
安裝系統(tǒng)之后,一般中文系統(tǒng)默認(rèn)字符集是GBK。我們安裝的軟件一般都繼承使用操作系統(tǒng)的默認(rèn)字符集。所以當(dāng)在中文XP或者win7系統(tǒng)開發(fā),在使用maven(mvn compile)編譯項(xiàng)目的時(shí)候,就會(huì)出現(xiàn)“編碼 gbk 的不可映射字符”: 這個(gè)是由于代碼使用的UTF-8,而maven編譯的時(shí)候使用的GBK的緣故。 可以通過修改項(xiàng)目的pom文件,可以告訴maven這個(gè)項(xiàng)目使用UTF-8編碼來編譯。在項(xiàng)目的pom.xml文件中添加下面的配置:
1 <!-- 指明編譯源代碼時(shí)使用的字符編碼,maven編譯的時(shí)候默認(rèn)使用的GBK編碼, 通過project.build.sourceEncoding屬性設(shè)置字符編碼,告訴maven這個(gè)項(xiàng)目使用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 <!-- 指明編譯源代碼時(shí)使用的字符編碼,7 maven編譯的時(shí)候默認(rèn)使用的GBK編碼, 8 通過encoding屬性設(shè)置字符編碼,9 告訴maven這個(gè)項(xiàng)目使用UTF-8來編譯 --> 10 <encoding>utf8</encoding> 11 </configuration> 12 </plugin>這兩種方案都可以解決上述的問題,可以根據(jù)個(gè)人習(xí)慣來設(shè)置,如下圖所示方式是采用配置<project.build.sourceEncoding>屬性來指明編譯采用的字符編碼。
今天被這個(gè)問題折騰夠久了,還好及時(shí)找到了解決辦法,在此記錄一下解決方案。
轉(zhuǎn)載于:https://www.cnblogs.com/shanheyongmu/p/5189526.html
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法 ——转载...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webkit事件处理
- 下一篇: 利用ssh-copy-id复制公钥到多台