升級到jdk1.8後 sun/io/CharToByteConverter錯誤及處理

最近在忙單位升級碰到一些問題記錄下: 把原來老項目jdk1.7升級到jdk1.8/Tomcat9,可是升級到jdk1.8之後,編譯出現java.lang.NoClassDefFoundError: sun/io/CharToByteConverter錯誤,經查詢,jdk1.8版本中已經從sun.io中去除CharToByteConverter等代碼。java

解決辦法:編碼

  1. 從jdk1.7源碼中(sun.io中)找來了相關java文件,放到項目中 sun.io(跟源碼目錄結構同樣)文件目錄下便可。
  2. 編碼:UTF-8

須要的文件:spa

  • ByteToCharConverter.java
  • ByteToCharUTF8.java
  • CharacterEncoding.java
  • CharToByteConverter.java (可不用)
  • CharToByteUTF8.java(可不用)
  • ConversionBufferFullException.java
  • Converters.java
  • UnknownCharacterException.java

PS:若是有其它編碼格式把對應編碼源碼加入便可。blog

若是不方便找源碼能夠從jdk1.7的rt.jar反編譯代碼:源碼

相關文章
相關標籤/搜索