TinkerPop3 > Gremlin Server > 检查是否安装了 Graph 库

TinkerPop3 > Gremlin Server > Check whether Graph lib is installed

在 Gremlin 服务器中,我像这样安装 NEO4J 库

bin/gremlin-server.sh -i org.apache.tinkerpop neo4j-gremlin x.y.z

有没有办法判断这个库是否已经安装?


长话短说:

我正在模拟存在网络问题的情况,所以在我 运行 之前,我禁用了网络连接。

脚本:

#!/bin/bash
echo "PING PING PING PING PING"
bin/gremlin-server.sh -i org.apache.tinkerpop neo4j-gremlin x.y.z

if [ $? -eq 0 ]
then
  echo "Successfully Successfully Successfully Successfully"
else
  echo "FAILED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
fi

网络中断时的结果

PING PING PING PING PING
Redirecting to 'install org.apache.tinkerpop neo4j-gremlin 3.3.1' (-i will be removed in a future release)
Installing dependency org.apache.tinkerpop neo4j-gremlin 3.3.1
Could not install the dependency: Error grabbing Grapes -- [unresolved dependency: org.apache.tinkerpop#neo4j-gremlin;3.3.1: not found]
java.lang.RuntimeException: Error grabbing Grapes -- [unresolved dependency: org.apache.tinkerpop#neo4j-gremlin;3.3.1: not found]
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at groovy.grape.GrapeIvy.getDependencies(GrapeIvy.groovy:424)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at groovy.grape.GrapeIvy.resolve(GrapeIvy.groovy:571)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at groovy.grape.GrapeIvy.resolve(GrapeIvy.groovy:534)
    at groovy.grape.Grape.resolve(Grape.java:202)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at org.apache.tinkerpop.gremlin.groovy.util.DependencyGrabber.copyDependenciesToPath(DependencyGrabber.groovy:110)
    at org.apache.tinkerpop.gremlin.server.util.GremlinServerInstall.main(GremlinServerInstall.java:38)
Successfully Successfully Successfully Successfully

为了检查 bash 退出代码是否 运行 正常,我这样做了

cd wrongfolder
if [ $? -eq 0 ]
then
  echo "Successfully Successfully Successfully Successfully"
else
  echo "FAILED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
fi

输出

PING PING PING PING PING
/install.sh: line 5: cd: wrongfolder: No such file or directory
FAILED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

所以 exit codes 工作正常,但不知何故对于 Gremlin 它不起作用

我刚刚看了一下代码。加载插件的实用程序似乎没有生成错误代码,而只是打印错误并正常退出。所以,你所看到的是意料之中的。

我添加了一个可用于 3.2.10、3.3.4 和 3.4.0 的修复程序:

https://github.com/apache/tinkerpop/commit/2d315e828149a132ecabf406af91acc3caec064c

我认为除了解析当前生成的输出之外没有确定成功或失败的解决方法。