【问题标题】:Error while running JanusGraph Gremlin console运行 JanusGraph Gremlin 控制台时出错
【发布时间】:2018-02-08 10:25:58
【问题描述】:

我正在按照此处提到的步骤进行操作: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?

【问题讨论】:

  • 什么操作系统?
  • 使用 Linux Ubuntu

标签: gremlin janusgraph


【解决方案1】:

从您的堆栈跟踪看来,编码设置为UTF-8i,这不是一个有效值。有关典型值,请参阅 StandardCharsets。检查您的LC_CTYPE 环境变量或JAVA_OPTIONS,看看它是否试图覆盖input.encodingfile.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> 

【讨论】:

  • 不,不工作。我取消设置 JAVA_OPTIONS 但仍然给出相同的错误。试图打印 echo $JAVA_OPTIONS,它什么也没显示。
  • 是否设置了LC_CTYPETERMUTF-8i 不知何故从你的环境中出来,你需要弄清楚它来自哪里。
  • 或者试试env | grep UTF 看看还有哪些其他变量匹配。
  • 是的 Jason,LC_CTYPE 设置为 en_US.UTF-8i。我将其更改为 en_US.UTF-8,现在它正在工作。谢谢!
  • 我已更新我的答案以包含 LC_CTYPE。很高兴你成功了。
猜你喜欢
  • 2023-02-08
  • 2019-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-11
  • 2019-02-14
相关资源
最近更新 更多