是否有任何Java 8支持的SqlJ版本?

时间:2016-03-28 10:40:30

标签: java classnotfoundexception sqlj

其实我收到了一个错误:

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可能会解决这个问题吗?

2 个答案:

答案 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的类是一个坏主意