欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven發(fā)布Jar包中文亂碼解決方法

 更新時間:2020年03月22日 11:40:55   作者:架構(gòu)文摘  
這篇文章主要介紹了Maven發(fā)布Jar包中文亂碼解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Maven deploy 亂碼

今天使用Maven發(fā)布Jar包時,發(fā)布功能都是正常的也成功上傳到了倉庫,就是項目跑越來后出中文中現(xiàn)了亂碼:

{
 "code": "SUCCESS",
 "success": true,
 "message": "鎿嶄綔鎴愬姛",
 "data": [
  {
   "key": "app_force_login",
   "value": "false"
  }
 ]
}

之前一直在用的mac開發(fā),一直也沒碰到過這樣的問題。后來換了家里的 Windows 臺式機代碼拉下來后,使用maven deploy發(fā)布了一次common的Jar包,然后所有common包中的中文都亂碼了,一開始還以為是服務(wù)器環(huán)境的問題,后來發(fā)現(xiàn)在執(zhí)行maven deploy時輸出了一些警告:

[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的不可映射字符

打開源碼一看又是正常的中文

修改 Idea 的編碼

首先看了一下 Idea的文件編碼是不是 UTF-8,發(fā)現(xiàn)在 Windows 環(huán)境下項目中的編碼是繼承系統(tǒng)的 GBK ,全部修改成 UTF-8 試下:

重新執(zhí)行:

mvn clean deploy -DskipTests

還是樣的出現(xiàn)亂碼警告??!然后查看對應(yīng)類ResultCodeclass文件發(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);
  }
}

猜想可能是某種字符編碼對應(yīng)不上。

修改 Maven 編譯插件編碼

修改文件/idea的編碼后,還是一樣亂碼。我仔細查看了下mvn發(fā)布日志發(fā)現(xiàn)了些有用的信息:

[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!

大概意思就是沒有設(shè)置文件編碼,使用系統(tǒng)默認的編碼 GBK,根據(jù)指示找到項目的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é)

問題的產(chǎn)生是由于公司平臺用的Mac電腦并且系統(tǒng)使用的字符集是UTF-8,切換到Windows后由于默認的字符集是GBK,而且沒有指定maven-compiler-plugin插件的編碼,導(dǎo)致編譯出來的字節(jié)碼文件中的中文亂碼了。

以上就是Maven發(fā)布Jar包中文亂碼解決方法的詳細內(nèi)容,更多關(guān)于Maven發(fā)布Jar包中文亂碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java基本教程之java線程等待與java喚醒線程 java多線程教程

    java基本教程之java線程等待與java喚醒線程 java多線程教程

    這篇文章主要介紹了對線程等待/喚醒方法,文中使用了多個示例,大家參考使用吧
    2014-01-01
  • win10 64位 jdk1.8的方法教程詳解

    win10 64位 jdk1.8的方法教程詳解

    這篇文章主要介紹了win10 64位 jdk1.8的方法教程詳解,本文給大家介紹的非常詳細,對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 基于Java實現(xiàn)多線程下載并允許斷點續(xù)傳

    基于Java實現(xiàn)多線程下載并允許斷點續(xù)傳

    這篇文章主要介紹了基于Java實現(xiàn)多線程下載并允許斷點續(xù)傳,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Java并發(fā)編程之Condition源碼分析(推薦)

    Java并發(fā)編程之Condition源碼分析(推薦)

    這篇文章主要介紹了Java并發(fā)編程之Condition源碼分析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 用Java實現(xiàn)OCR功能揭秘

    用Java實現(xiàn)OCR功能揭秘

    想知道如何用Java實現(xiàn)OCR功能嗎?本指南將揭秘這一神秘技術(shù),讓你輕松掌握OCR的實現(xiàn)方法,無論是想提升技能還是解決問題,這篇指南都能幫助你一臂之力,需要的朋友可以參考下
    2023-12-12
  • JAVA項目常用異常處理匯總

    JAVA項目常用異常處理匯總

    這篇文章主要介紹了JAVA項目常用異常處理匯總,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java并發(fā)編程深入理解之Synchronized的使用及底層原理詳解 下

    Java并發(fā)編程深入理解之Synchronized的使用及底層原理詳解 下

    在并發(fā)編程中存在線程安全問題,主要原因有:1.存在共享數(shù)據(jù) 2.多線程共同操作共享數(shù)據(jù)。關(guān)鍵字synchronized可以保證在同一時刻,只有一個線程可以執(zhí)行某個方法或某個代碼塊,同時synchronized可以保證一個線程的變化可見(可見性),即可以代替volatile
    2021-09-09
  • java比較兩個json文件的差異及說明

    java比較兩個json文件的差異及說明

    這篇文章主要介紹了java比較兩個json文件的差異及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java類加載器之ContextClassLoader詳解

    Java類加載器之ContextClassLoader詳解

    這篇文章主要介紹了Java類加載器之ContextClassLoader詳解,ContextClassLoader是一種與線程相關(guān)的類加載器,類似ThreadLocal,每個線程對應(yīng)一個上下文類加載器,需要的朋友可以參考下
    2023-10-10
  • Java中工具Jstack的使用實例

    Java中工具Jstack的使用實例

    jstack用于生成java虛擬機當(dāng)前時刻的線程快照,下面這篇文章主要給大家介紹了關(guān)于Java中工具Jstack使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04

最新評論