尽管我在Oracle DB中的JDK 5下编译了类,但是UnsupportedClassVersionerror 52.0错误

时间:2014-05-27 10:36:53

标签: java oracle

我有一个奇怪的情况:我想在库中切换一个类,所以我用这个类创建了jar并将其加载到Oracle - 这引发了关于太新类版本的错误(这是真的,我没有&# 39;注意到我用JDK8编译了它。

所以我用JDK5重新编译它并再次加载,但是......它再次抛出相同的错误,UnsupportedClassVersionError

我签入了SYS.ALL_JAVA_CLASSES,这个班级有49.0的主要编号。

我尝试加载所有库,但它没有帮助。我试图删除这些类并再次加载,删除所有库并再次加载 - 没有任何改变。

在我看来,这个错误已经不再发生了,但是DB仍然会抛出它。

任何想法为什么会发生?我该怎么办?

P.S。 抱歉可怕的英语......

2 个答案:

答案 0 :(得分:0)

问题解决了。来自其他图书馆的一个班级,正在使用我的班级,他记得这是一个太高级的版本。加载并解析其他库帮助。

答案 1 :(得分:-1)

Class version编号与外部java版本不同。

major version number of the class file format being used.
J2SE 8 = 52 (0x34 hex),
J2SE 7 = 51 (0x33 hex),
J2SE 6.0 = 50 (0x32 hex),
J2SE 5.0 = 49 (0x31 hex),
JDK 1.4 = 48 (0x30 hex),
JDK 1.3 = 47 (0x2F hex),
JDK 1.2 = 46 (0x2E hex),
JDK 1.1 = 45 (0x2D hex).

所以52源自java 8.祝贺。