2014-06-23 56 views
1

我试图使用Pentaho Kettle 5.0.1A稳定的Neo4j JDBC驱动程序,但是当我尝试预览“Table Input”步骤的数据时我得到这个错误:Pentaho Kettle + Neo4j jdbc驱动程序错误:不支持major.minor版本51.0

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的BTW)
  • 我已经克隆了Neo4j的驱动程序和使用Maven构建它(上次提交的驱动程序是5430d0454180a其中新增支持的Neo4j 2.1。 2)
  • 我建立驾驶员与Maven使用下面的命令:MVN包
  • 我复制的驱动程序的Neo4j-JDBC-2.1.2-SNAPSHOT-JAR-与依赖性在水壶的/ lib目录。

有什么想法?

They say该错误通常是由于编译期间JDK较高,运行时JDK较低而发生的,但我已经设置了PENTAHO_JAVA_HOME,因此我在这里没有想法。

回答

1

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

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

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

+0

嗨Stefan,情况就是如此。水壶使用Mac的JDK 1.6.0,因此是错误。感谢您的及时回应:)我需要找到一种方法让Java运行Java 7. –

+0

好吧,[我发现了所有邪恶的根源](http://stackoverflow.com/a/15271448/929659)这与Java应用程序捆绑用于Mac的方式有关:这是一个死路一条。 –

+0

我遇到了这张票@Pentaho http://jira.pentaho.com/browse/PDI-11056 –

相关问题