我有一个奇怪的情况:我想在库中切换一个类,所以我用这个类创建了jar并将其加载到Oracle - 这引发了关于太新类版本的错误(这是真的,我没有&# 39;注意到我用JDK8编译了它。
所以我用JDK5重新编译它并再次加载,但是......它再次抛出相同的错误,UnsupportedClassVersionError
。
我签入了SYS.ALL_JAVA_CLASSES
,这个班级有49.0的主要编号。
我尝试加载所有库,但它没有帮助。我试图删除这些类并再次加载,删除所有库并再次加载 - 没有任何改变。
在我看来,这个错误已经不再发生了,但是DB仍然会抛出它。
任何想法为什么会发生?我该怎么办?
P.S。 抱歉可怕的英语......
答案 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.祝贺。