Java 不支持ClassVersion52.0错误,尽管我在Oracle DB中的JDK5下重新编译了类

Java 不支持ClassVersion52.0错误,尽管我在Oracle DB中的JDK5下重新编译了类,java,oracle,Java,Oracle,我有一个奇怪的情况:我想切换库中的一个类,所以我用这个类创建了jar,并将它加载到Oracle中——这会引发关于太新的类版本的错误,这是真的,我没有注意到我用JDK8编译了它 所以我用JDK5重新编译并再次加载,但是。。。它再次抛出相同的错误,UnsupportedClassVersionError 我检查了SYS.ALL_JAVA_类,这个类有49.0的主要编号 我试图加载所有的库,但没用。我试图删除这些类并再次加载,删除所有库并再次加载-没有任何更改 在我看来,这个错误不会再发生了,但DB仍

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

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

我检查了SYS.ALL_JAVA_类,这个类有49.0的主要编号

我试图加载所有的库,但没用。我试图删除这些类并再次加载,删除所有库并再次加载-没有任何更改

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

知道为什么会这样吗?我该怎么办

附言。 抱歉,英语太糟糕了…

编号与外部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源于Java8。祝贺您。

问题已解决。另一个库中使用我的类的一个类记得它的类版本太高了。加载并解决另一个库有帮助。

Bum我的问题是,为什么数据库说类是用JDK8编译的,而我用JDK5编译的。您是否尝试过在Oracle服务器的文件系统中搜索该类或其包含的JAR文件的旧副本?您是否尝试重新启动Oracle服务。。。如果这是某种粘性的节目,我能找到这些旧的拷贝吗?重新启动instatnce是否可以删除此旧副本?这就是我认为的,DB仍然使用一些旧文件…1使用find命令。2如果问题是Oracle正在使用旧文件,那么重新启动可能不会有帮助。重新启动适用于Oracle以某种方式将旧文件加载到内存中的情况。。。或者别的什么。。。并且拒绝刷新。那么如何删除这些旧副本?使用rm?这就是删除文件的方式。当然,你需要先找到他们;e、 g.使用find。如果你不知道怎么做,请阅读find或Google的man条目以获取一些示例。