是否有任何支持Java8的sqlj版本?

nue99wik  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(377)

实际上我得到了一个错误:

Exception in thread "main" java.lang.NoClassDefFoundError:sun/io/CharToByteConverter

这是因为在Java8中,chartobyteconverter类在被弃用时已被删除。
现在我想知道任何替代方案,它将取代这个包/类,并提供其功能而不抛出上述异常。
这个类用于sqlj的

Translator.jar

它的内部是

sqlj.util.io.OracleOutputStream.class

编辑:如果我用java.nio.charset类替换chartobyteconverter类,sqlj仍然可能检测不到它。如果我错了,请纠正我。让我知道用java.nio.charset替换chartobyteconverter是否可以解决这个问题?

lbsnaicq

lbsnaicq1#

这是一个老问题,但直到今天对我来说也是一个问题。因此,也许其他人会从信息中受益,oracle有一个bug#21315718,其中包含解决方案:“translator.jar和runtime12.jar与jdk 8不兼容。在未发布的bug 21315718中报告了这个问题-sqlj translator不适用于jdk 8。“升级这两个JAR之后,sqlj没有为我提出上述错误。

yrwegjxp

yrwegjxp2#

javadoc的评论说明了这一切:
不赞成!替换为java.nio.charset
在java.nio.charset包中查找替换类/方法。
请注意,在jdk中使用不属于官方文档api的类首先是个坏主意

相关问题