這篇文章主要介紹Maven發(fā)布Jar包中文亂碼怎么辦,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)長(zhǎng)期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為德欽企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站建設(shè),德欽網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。Maven deploy 亂碼
今天使用Maven發(fā)布Jar包時(shí),發(fā)布功能都是正常的也成功上傳到了倉(cāng)庫(kù),就是項(xiàng)目跑越來(lái)后出中文中現(xiàn)了亂碼:
{
"code": "SUCCESS",
"success": true,
"message": "鎿嶄綔鎴愬姛",
"data": [
{
"key": "app_force_login",
"value": "false"
}
]
}之前一直在用的mac開(kāi)發(fā),一直也沒(méi)碰到過(guò)這樣的問(wèn)題。后來(lái)?yè)Q了家里的 Windows 臺(tái)式機(jī)代碼拉下來(lái)后,使用maven deploy發(fā)布了一次common的Jar包,然后所有common包中的中文都亂碼了,一開(kāi)始還以為是服務(wù)器環(huán)境的問(wèn)題,后來(lái)發(fā)現(xiàn)在執(zhí)行maven deploy時(shí)輸出了一些警告:
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/convert/ObjectConvert.java:[10,5] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/convert/ObjectConvert.java:[10,13] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/convert/ObjectConvert.java:[10,24] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/convert/ObjectConvert.java:[18,9] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/convert/ObjectConvert.java:[18,17] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/convert/ObjectConvert.java:[25,9] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/result/Result.java:[10,8] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/result/Result.java:[10,28] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/result/ResultCode.java:[23,15] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/result/ResultCode.java:[25,74] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/result/ResultCode.java:[49,12] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/result/ResultCode.java:[49,14] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/result/ResultCode.java:[60,12] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/result/ResultCode.java:[60,14] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/exception/BizRuntimeException.java:[7,11] 編碼GBK的不可映射字符
[WARNING] /C:/Users/yjwfn/Desktop/csbaic-common/src/main/java/com/csbaic/common/exception/BizRuntimeException.java:[14,12] 編碼GBK的不可映射字符
打開(kāi)源碼一看又是正常的中文
修改 Idea 的編碼
首先看了一下 Idea的文件編碼是不是UTF-8,發(fā)現(xiàn)在 Windows 環(huán)境下項(xiàng)目中的編碼是繼承系統(tǒng)的GBK,全部修改成UTF-8試下:

重新執(zhí)行:
mvn clean deploy -DskipTests
還是樣的出現(xiàn)亂碼警告!!然后查看對(duì)應(yīng)類ResultCode的class文件發(fā)現(xiàn)里面也是亂碼的:
public interface ResultCode {
ResultCode SUCCESS = new DefaultResultCode("SUCCESS", "鎿嶄綔鎴愬姛", true);
ResultCode ERROR = new DefaultResultCode("ERROR", "鎿嶄綔澶辮觸", false);
ResultCode BAD_REQUEST = new DefaultResultCode("BAD_REQUEST", "璇鋒眰閿欒\ue1e4", false);
ResultCode NOT_FOUND = new DefaultResultCode("NOT_FOUND", "璇鋒眰鏁版嵁鏈\ue045壘鍒?", false);
String getCode();
String getMessage();
Boolean isSuccess();
static ResultCode error(String code, String message) {
return new DefaultResultCode(code, message, false);
}
static ResultCode ok(String code, String message) {
return new DefaultResultCode(code, message, true);
}
}猜想可能是某種字符編碼對(duì)應(yīng)不上。
修改 Maven 編譯插件編碼
修改文件/idea的編碼后,還是一樣亂碼。我仔細(xì)查看了下mvn發(fā)布日志發(fā)現(xiàn)了些有用的信息:
[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!
大概意思就是沒(méi)有設(shè)置文件編碼,使用系統(tǒng)默認(rèn)的編碼GBK,根據(jù)指示找到項(xiàng)目的pom.xml將插件的編碼改為utf-8:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>8</source> <target>8</target> <encoding>utf-8</encoding> </configuration> </plugin>
總結(jié)
問(wèn)題的產(chǎn)生是由于公司平臺(tái)用的Mac電腦并且系統(tǒng)使用的字符集是UTF-8,切換到Windows后由于默認(rèn)的字符集是GBK,而且沒(méi)有指定maven-compiler-plugin插件的編碼,導(dǎo)致編譯出來(lái)的字節(jié)碼文件中的中文亂碼了。
以上是“Maven發(fā)布Jar包中文亂碼怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)標(biāo)題:Maven發(fā)布Jar包中文亂碼怎么辦-創(chuàng)新互聯(lián)
文章地址:http://chinadenli.net/article34/ceoese.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、軟件開(kāi)發(fā)、網(wǎng)站營(yíng)銷、網(wǎng)站排名、網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容