Java存储过程UnsupportedClassVersionError

时间:2013-02-26 09:04:15

标签: java oracle procedure

亲爱的专家

我正在尝试执行映射到Java存储过程的oracle过程,但是我收到以下错误:

ORA-29532: Java call terminated by uncaught Java exception: 
System error : java/lang/UnsupportedClassVersionError

我使用的是Oracle Database 11g企业版11.2.0.2.0版 - 64位

我使用Java最新版本“Java SE 7u15”编译了源代码,我知道Oracle 11g R2使用的是Java 5.0或1.5,并且该程序是从Oracle PLSQL执行的。我是否需要将编译版本降级为1.5才有助于解决此问题

任何建议都将受到赞赏

2 个答案:

答案 0 :(得分:1)

当JVM尝试读取类文件并发现不支持特定类文件中的主要版本号和次要版本号时,会抛出此错误。

当使用更高版本的Java Compiler生成类文件而不是用于执行该类文件的JVM版本时,会发生这种情况。

以下是解决问题的几个步骤:

  1. 找出这个UnSupportedClassVersionError来自哪个jar或类文件?
  2. 尝试使用您用来运行程序的JDK版本编译该jar的源代码(如果源可用)。
  3. 如果您没有源,请尝试查找该库的兼容版本。
  4. 增加用于运行程序的JRE版本。
  5. 请查看以下链接以获取更多信息:

    http://geekexplains.blogspot.com/2009/01/javalangunsupportedclassversionerror.html

    http://javarevisited.blogspot.com/2011/07/javalangunsupportedclassversionerror.html

答案 1 :(得分:0)

看起来你正在使用lower version of Java,而不是编译驱动程序,或者32位/ 64位java与oracle不匹配。