升级到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反编译代码:源码

相关文章
相关标签/搜索