【问题标题】:Is there any Java 8 supported release of SqlJ?是否有任何支持 Java 8 的 SqlJ 版本?
【发布时间】:2016-07-15 14:40:26
【问题描述】:

其实我得到一个错误:

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 是否可以解决问题?

【问题讨论】:

标签: java classnotfoundexception sqlj


【解决方案1】:

这是一个老问题,但直到今天对我来说也是一个问题。因此,也许其他人可能会从以下信息中受益,Oracle 对此有一个错误 #21315718,其中包含解决方案: “Translator.jar 和 runtime12.jar 与 JDK 8 不兼容。 该问题在未发布的错误 21315718 中报告 - sqlj 转换器不适用于 jdk 8。” 升级这两个 jar 后,SQLJ 没有为我引发上述错误。

【讨论】:

    【解决方案2】:

    javadoc 注释说明了一切:

    已弃用!替换 - 由 java.nio.charset

    寻找替代品 java.nio.charset 包中的类/方法。

    请注意,在 JDK 中使用不属于官方文档 API 的类首先是个坏主意

    【讨论】:

    • 您应该将其标记为重复,而不是复制粘贴答案:)
    • 我已经阅读了这篇文章,它暗示了你上面提到的内容。但是,java.nio.charset 是已弃用的类 CharToByteConverter.class 的替代品。但是,我正在寻找整个 Translator.jar 文件的替代品。原因是即使我用字符集替换 CharToByteConverter 类,当我使用 SQLJ 内部用作库的 translater.jar 时,它仍然会导致错误。我很抱歉,因为我可能写错了我的问题。我会编辑它以更好地了解我的问题。
    猜你喜欢
    • 2013-08-15
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2017-03-25
    相关资源
    最近更新 更多