运行 JanusGraph Gremlin 控制台出错

Error while running JanusGraph Gremlin console

我正在按照此处提到的步骤进行操作:http://docs.janusgraph.org/latest/getting-started.html 并在 运行 命令时出错:bin/gremlin.sh

错误跟踪:

Exception in thread "main" java.io.UnsupportedEncodingException: UTF-8i
    at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:61)
    at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:100)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:231)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:213)
    at org.codehaus.groovy.tools.shell.PatchedConsoleReader.<init>(PatchedConsoleReader.groovy:32)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at org.codehaus.groovy.tools.shell.InteractiveShellRunner.<init>(InteractiveShellRunner.groovy:50)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:118)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:478)

我正在使用以下 java 版本:

java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

谁能告诉我如何避免此错误并开始使用 JanusGraph?

从您的堆栈跟踪来看,编码似乎设置为 UTF-8i,这不是有效值。参见 StandardCharsets for typical values. Check your LC_CTYPE environment variable or JAVA_OPTIONS to see if it attempts to override input.encoding or file.encoding

例如,这将重新创建上面的堆栈跟踪:

$ export JAVA_OPTIONS=-Dinput.encoding=UTF-8i
$ bin/gremlin.sh

         \,,,/
         (o o)
-----oOOo-(3)-oOOo-----
Exception in thread "main" java.io.UnsupportedEncodingException: UTF-8i
    at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:61)
    at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:100)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:231)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:213)
    etc...

取消设置 JAVA_OPTIONS 变量使其再次工作:

$ unset JAVA_OPTIONS
$ bin/gremlin.sh

         \,,,/
         (o o)
-----oOOo-(3)-oOOo-----
plugin activated: janusgraph.imports
plugin activated: tinkerpop.server
plugin activated: tinkerpop.utilities
plugin activated: tinkerpop.hadoop
plugin activated: tinkerpop.spark
plugin activated: tinkerpop.tinkergraph
gremlin>