Unsupported major.minor version 51.0

今天在Debian上部署WebService时在Tomcat的日志里发现一个异常:

Invocation of init method failed; nested exception is java.lang.UnsupportedClassVersionError: oracle/jdbc/driver/OracleDriver : Unsupported major.minor version 51.0 (unable to load class oracle.jdbc.driver.OracleDriver)

从异常信息来看应该是Java编译版本和运行版本的不一致造成的,但编译和运行的Java大版本是一致的,都是1.7,因此经历几次降低编译的版本折腾,仍然未能解决。

后来通过ps命令查看tomcat,发现tomcat居然是用的debian自带的openjdk1.6,晕!居然没有用我设置的JAVA_HOME,而我用的OracleDriver是ojdbc7,这就是问题所在了。

因此有两种解决方法,要么是使用ojdbc6,要么是设置tomcat的运行环境;前者经过测试是OK的,后者则需要设置:/etc/default/tomcat7的JAVA_HOME,网上很多资料说修改catalina.sh是行不通的。

这里折腾了很久,没想到Tomcat没有使用环境变量JAVA_HOME,而是自己又弄一套,虽然感觉更灵活了,但真的让初学者蛮头疼的!!

posted @ 2015-06-11 10:42  码农神说  阅读(1041)  评论(0编辑  收藏  举报