Re: Terminal initialization failed ... Found class jline.Terminal, but interface was expected

Robert Dale <rob...@...>

Titan/JanusGraph has been using 2.11 and TinkerPop has been using 2.12 for the last 2 years or so.  JanusGraph overrides TinkerPop's version. There is only one copy of jline in either TinkerPop or JanusGraph distributions.

In jline, the interface change was from 1.x to 2.x.  I would suspect that jline 1.x  is somewhrere in your classpath.  A quick search leads to some stackoverflow answers that point to the HADOOP classpath.

However, if you believe that this is a bug in either JanusGraph, TinkerPop, please provide the steps to reproduce with a clean distribution and without manipulating the classpath.  In the meantime, I have created an issue to update JanusGraph to the TinkerPop version -

Robert Dale

On Sat, Sep 2, 2017 at 7:23 AM, Rohit Jain <rohit.j...@...> wrote:
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 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

This indicates that perhaps Gremlin / Tinkerpop, as included with JanusGraph, may not be compatible with jline 2.12 after all.

You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
For more options, visit

Join { to automatically receive all group messages.