ORA-29548:Java 系统类报告:无法识别 classes.bin 中指定的版本
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/20393769/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
ORA-29548: Java system class reported: could not identify release specified in classes.bin
提问by learningloop
Problem: During simulation of distributed transactions using Java and Oracle XA, while starting a new transaction (xa.start) hitting exception "ORA-29548: Java system class reported: could not identify release specified in classes.bin"
问题:在使用 Java 和 Oracle XA 模拟分布式事务期间,在启动新事务 (xa.start) 时遇到异常“ORA-29548:Java 系统类报告:无法识别 classes.bin 中指定的版本”
Initial analysis: Checked the versions of system JDK and JDK version in Oracle. There is a mismatch.
初步分析:检查系统JDK版本和Oracle中的JDK版本。存在不匹配。
System JDK (Java -version): 1.6.0_31
Oracle JDK (DBMS_JAVA.GET_JDK_VERSION()): 1.6.0_37
Is the difference in JDK a reason for "could not identify release specified in classes.bin" error? Is there any other potential cases which can cause this?
JDK 中的差异是“无法识别 classes.bin 中指定的版本”错误的原因吗?还有其他可能导致这种情况的情况吗?
回答by Elliott Frisch
Actually, I think you've got a developer who did a build with 1.7
(or 1.8
) and didn't set the compliance level to 1.6
. I say that because your error is actually from the JRE and the relevant part of the exception is "Java system class reported: could not identify release"
实际上,我认为您有一个开发人员使用1.7
(或1.8
)进行了构建并且没有将合规性级别设置为1.6
. 我这样说是因为您的错误实际上来自 JRE,并且异常的相关部分是“Java 系统类报告:无法识别发布”
回答by Curtis
IF you have applied a recent PSU or java patch to your database make sure you have ran the @postinstall.sql. For example 20406220 has a postinstall.sql in Oracle_home/sqlpatch/20406220 directory.
如果您已将最新的 PSU 或 Java 补丁应用于您的数据库,请确保您已运行 @postinstall.sql。例如 20406220 在 Oracle_home/sqlpatch/20406220 目录中有一个 postinstall.sql。