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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 01:37:20  来源:igfitidea点击:

ORA-29548: Java system class reported: could not identify release specified in classes.bin

javaoraclexa

提问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。