今天在Debian上部署WebService時在Tomcat的日誌裏發現一個異常:java
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)tomcat
從異常信息來看應該是Java編譯版本和運行版本的不一致形成的,但編譯和運行的Java大版本是一致的,都是1.7,所以經歷幾回下降編譯的版本折騰,仍然未能解決。oracle
後來經過ps命令查看tomcat,發現tomcat竟然是用的debian自帶的openjdk1.6,暈!竟然沒有用我設置的JAVA_HOME,而我用的OracleDriver是ojdbc7,這就是問題所在了。測試
所以有兩種解決方法,要麼是使用ojdbc6,要麼是設置tomcat的運行環境;前者通過測試是OK的,後者則須要設置:/etc/default/tomcat7的JAVA_HOME,網上不少資料說修改catalina.sh是行不通的。日誌
這裏折騰了好久,沒想到Tomcat沒有使用環境變量JAVA_HOME,而是本身又弄一套,雖然感受更靈活了,但真的讓初學者蠻頭疼的!!部署