今天在eclipse中使用Maven編譯項目源代碼時,結果如下了如下的錯誤
在Java源碼中沒有提示任何報錯,即便是改掉項目編碼也是不行,如下圖所示:
第一次遇到這個問題,記錄一下,分享一下。
解決這個問題的思路: 在maven的編譯插件中聲明正確的字符集編碼編碼——編譯使用的字符集編碼與代碼文件使用的字符集編碼一致!!
安裝系統之后,一般中文系統默認字符集是GBK。我們安裝的軟件一般都繼承使用操作系統的默認字符集。所以當在中文XP或者win7系統開發,在使用maven(mvn compile)編譯項目的時候,就會出現“編碼 gbk 的不可映射字符”: 這個是由於代碼使用的UTF-8,而maven編譯的時候使用的GBK的緣故。 可以通過修改項目的pom文件,可以告訴maven這個項目使用UTF-8編碼來編譯。在項目的pom.xml文件中添加下面的配置:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties>
或者在pom.xml的/project/build/plugins/下的編譯插件聲明 中加入下面的配置:
<encoding>utf8</encoding>
這兩種方案都可以解決上述的問題,可以根據個人習慣來設置,如下圖所示方式是采用配置<project.build.sourceEncoding>屬性來指明編譯采用的字符編碼。