其实我收到了一个错误:
Exception in thread "main" java.lang.NoClassDefFoundError:sun/io/CharToByteConverter
这是因为在Java 8中,CharToByteConverter类已被弃用,因为它已被弃用。
现在我想知道任何替代这个包/类并提供其功能而不抛出上述异常的替代方法。
此类用于SQLJ的
Translator.jar
在里面,它在
sqlj.util.io.OracleOutputStream.class
编辑: 如果我用java.nio.charset类替换CharToByteConverter类,SQLJ可能仍然无法检测到它。如果我错了,请纠正我。让我知道如果用java.nio.charset替换CharToByteConverter可能会解决这个问题吗?
答案 0 :(得分:0)
这是一个老问题,但直到今天对我来说也是一个问题。因此,也许其他人可能会从该信息中受益,Oracle对此有一个错误#21315718,其中包含解决方案: “ Translator.jar和runtime12.jar与JDK 8不兼容。 未发布的Bug 21315718中报告了该问题-sqlj转换器不适用于jdk8。” 升级这两个jar之后,SQLJ对我没有引发以上错误。
答案 1 :(得分:-2)
javadoc评论说明了一切:
弃用!替换 - 由java.nio.charset
寻找替代品 java.nio.charset包中的类/方法。
请注意,首先使用JDK中不属于官方文档API的类是一个坏主意