Re: Terminal initialization failed ... Found class jline.Terminal, but interface was expected
Rohit Jain <rohit.j...@...>
Here is what one of our developers found:
It looks like there are some incompatibilities in the interface for the class jline.Terminal between jline 2.11 and jline 2.12.
If the jline 2.12, part of Cloudera CDH Hive, is loaded, Gremlin will fail with the following error:
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
If the jline 2.11 version is loaded, Gremlin does not have a problem.
To work around the issue at this moment, here is what was done:
We changed gremlin.sh around line 43, to add the janusgraph/lib at the beginning of the current class path. It is likely, that the only library needed to be in front was jline. But we added them all to the front, so they get preference over any of the current jars and classes.
#WORKAROUND....PUT LIB in front of classpath
#export CLASSPATH="${CLASSPATH:-}:$CP"
export CLASSPATH="$CP:${CLASSPATH:-}"
This indicates that perhaps Gremlin / Tinkerpop, as included with JanusGraph, may not be compatible with jline 2.12 after all.
It looks like there are some incompatibilities in the interface for the class jline.Terminal between jline 2.11 and jline 2.12.
If the jline 2.12, part of Cloudera CDH Hive, is loaded, Gremlin will fail with the following error:
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
If the jline 2.11 version is loaded, Gremlin does not have a problem.
To work around the issue at this moment, here is what was done:
We changed gremlin.sh around line 43, to add the janusgraph/lib at the beginning of the current class path. It is likely, that the only library needed to be in front was jline. But we added them all to the front, so they get preference over any of the current jars and classes.
#WORKAROUND....PUT LIB in front of classpath
#export CLASSPATH="${CLASSPATH:-}:$CP"
export CLASSPATH="$CP:${CLASSPATH:-}"
This indicates that perhaps Gremlin / Tinkerpop, as included with JanusGraph, may not be compatible with jline 2.12 after all.