Pentaho Kettle + Neo4j jdbc驱动程序错误:不支持major.minor版本51.0

时间:2014-06-23 17:55:15

标签: java jdbc neo4j kettle

我尝试使用Pentaho Kettle 5.0.1A-stable和Neo4j JDBC驱动程序,但是当我尝试预览"表输入"我得到这个错误:

Failed to execute runnable (java.lang.UnsupportedClassVersionError: org/neo4j/jdbc/Driver : Unsupported major.minor version 51.0)

截图:
Pentaho Kettle error when trying to preview the output of a "Table Input" step using Neo4j jdbc driver

我的.zshrc文件中有这些行

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
export PENTAHO_JAVA_HOME=`/usr/libexec/java_home -v 1.7`
  • Java版本是1.7.0_60(我使用的是Mac OS X顺便提一下)
  • 我已经克隆了Neo4j驱动程序并使用Maven构建它(驱动程序的最后一次提交是5430d0454180a,它增加了对Neo4j的支持2.1.2)
  • 我使用此命令使用Maven构建了驱动程序:mvn package
  • 我已将驱动程序neo4j-jdbc-2.1.2-SNAPSHOT-jar-with-dependencies复制到Kettle中的/ lib目录。

有什么想法?

They say这个错误通常是因为在编译期间JDK较高而在运行时期间JDK较低但我已经设置了PENTAHO_JAVA_HOME,所以我在这里没有想法。

1 个答案:

答案 0 :(得分:1)

不是答案,但也许是一些见解:

51的主要版本对应于JDK 7 - 这与您的描述如何构建Neo4j JDBC驱动程序一致。由于Neo4j基于JDK 7而JDBC驱动程序在内部使用了一些Java 7语言功能,因此无法使用以前的JDK构建它。

看起来水壶正在使用早期的JDK版本。不幸的是,我不能给出如何强制特定JDK for Kettle的建议。您可以使用ps aux和grep for kettle来检查进程列表,以查看正在运行的完整命令。