Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有任何支持Java8的SqlJ版本?_Java_Classnotfoundexception_Sqlj - Fatal编程技术网

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

是否有任何支持Java8的SqlJ版本?,java,classnotfoundexception,sqlj,Java,Classnotfoundexception,Sqlj,实际上,我得到了一个错误: Exception in thread "main" java.lang.NoClassDefFoundError:sun/io/CharToByteConverter 这是因为在Java8中,ChartByteConverter类已被删除,因为它已被弃用 现在我想知道是否有任何替代方案可以取代这个包/类,并在不引发上述异常的情况下提供其功能 此类用于SQLJ的 Translator.jar 在它里面,它在里面 sqlj.util.io.OracleOutput

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

Exception in thread "main" java.lang.NoClassDefFoundError:sun/io/CharToByteConverter
这是因为在Java8中,ChartByteConverter类已被删除,因为它已被弃用

现在我想知道是否有任何替代方案可以取代这个包/类,并在不引发上述异常的情况下提供其功能

此类用于SQLJ的

Translator.jar 
在它里面,它在里面

sqlj.util.io.OracleOutputStream.class
编辑:
如果我用java.nio.charset类替换ChartByteConverter类,SQLJ可能仍然无法检测到它。如果我错了,请纠正我。让我知道用java.nio.charset替换ChartByteConverter是否可以解决问题?

javadoc注释说明了这一切:

不赞成!替换为java.nio.charset

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


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

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

你应该将答案标记为重复,而不是复制粘贴答案:)我已经阅读了这篇文章,其中建议了你上面提到的内容。然而,java.nio.charset是不推荐使用的类chartobytector.class的替代品。然而,我正在寻找整个Translator.jar文件的替代品。原因是,即使我用字符集替换ChartByteConverter类,当我使用SQLJ内部用作库的translator.jar时,它仍然会导致错误。很抱歉,我可能把问题写错了。我将对其进行编辑,以便更好地了解我的问题