简体   繁体   English

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

[英]Pentaho Kettle + Neo4j jdbc driver error: Unsupported major.minor version 51.0

I'm trying to use Pentaho Kettle 5.0.1A-stable with the Neo4j JDBC driver but when I try to preview the data of a "Table Input" step I get this error: 我正在尝试将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)

Screenshot: 截图:
尝试使用Neo4j jdbc驱动程序预览“表输入”步骤的输出时,Pentaho Kettle错误

I have these lines in my .zshrc file 我的.zshrc文件中有这些行

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
export PENTAHO_JAVA_HOME=`/usr/libexec/java_home -v 1.7`
  • Java version is 1.7.0_60 (I'm using Mac OS X btw) Java版本为1.7.0_60(我使用的是Mac OS X)
  • I've cloned the Neo4j-driver and built it using Maven (last commit of the driver was 5430d0454180a which added support to Neo4j 2.1.2) 我已经克隆了Neo4j驱动程序,并使用Maven构建了该驱动程序(驱动程序的最后提交是5430d0454180a ,为Neo4j 2.1.2添加了支持)
  • I built the driver with Maven with this command: mvn package 我使用以下命令使用Maven构建了驱动程序:mvn package
  • I've copied the driver neo4j-jdbc-2.1.2-SNAPSHOT-jar-with-dependencies to the /lib dir in Kettle. 我已将驱动程序neo4j-jdbc-2.1.2-SNAPSHOT-jar-with-dependencies复制到Kettle的/ lib目录中。

Any thoughts? 有什么想法吗?

They say that this error usually happens because of a higher JDK during compile time and lower JDK during runtime but I already set PENTAHO_JAVA_HOME so I'm running out of ideas here. 他们说这个错误通常是由于编译时JDK较高而运行时JDK较低而引起的,但是我已经设置了PENTAHO_JAVA_HOME,因此在这里没有足够的想法了。

Not an answer, but maybe some insight: 不是答案,而是一些见解:

A major version of 51 corresponds to JDK 7 - that is in line with your description how you've built the Neo4j JDBC driver. 51的主要版本与JDK 7相对应-与您描述如何构建Neo4j JDBC驱动程序相符。 Since Neo4j is based on JDK 7 and the JDBC Driver uses internally some of the Java 7 language features it is not possible to build it with a previous JDK. 由于Neo4j基于JDK 7,并且JDBC驱动程序在内部使用了某些Java 7语言功能,因此无法使用以前的JDK进行构建。

It looks like kettle is using an earlier JDK version. 看起来水壶正在使用早期的JDK版本。 Unfortunately I cannot give a advice how to force a specific JDK for Kettle. 不幸的是,我无法提供建议如何为Kettle强制使用特定的JDK。 You might inspect your process list using ps aux and grep for kettle to see the full command being run. 您可以使用ps aux和grep检查水壶的进程列表,以查看正在运行的完整命令。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM