gpt4 book ai didi

java - Titan 关于图创建的 IllegalArgumentException

转载 作者:行者123 更新时间:2023-11-30 03:18:30 25 4
gpt4 key购买 nike

当我尝试在蓝图中实例化我的图表时,出现初始化错误。这是我用来创建新图表的代码:

String path = "conf/titan-cassandra-" + System.getProperty("env") + ".properties";
Graph graph = TitanFactory.open(path);

正在设置系统属性并且文件存在。 TitanFactory 中抛出错误:

final Pattern p = Pattern.compile("(" + 
Pattern.quote(GraphDatabaseConfiguration.STORAGE_NS.getName()) + "\\..*" + "(" +
Pattern.quote(GraphDatabaseConfiguration.STORAGE_DIRECTORY.getName()) + "|" +
Pattern.quote(GraphDatabaseConfiguration.STORAGE_CONF_FILE.getName()) + ")" + "|" +
Pattern.quote(GraphDatabaseConfiguration.INDEX_NS.getName()) + "\\..*" + "(" +
Pattern.quote(GraphDatabaseConfiguration.INDEX_DIRECTORY.getName()) + "|" +
Pattern.quote(GraphDatabaseConfiguration.INDEX_CONF_FILE.getName()) + ")" + ")");

计算表达式 GraphDatabaseConfiguration.STORAGE_NS 得出“null”。为什么会这样?

编辑:

我还包括堆栈跟踪

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.containsAny(Ljava/lang/String;[C)Z
at com.thinkaurelius.titan.diskstorage.configuration.ConfigElement.<init>(ConfigElement.java:26)
at com.thinkaurelius.titan.diskstorage.configuration.ConfigNamespace.<init>(ConfigNamespace.java:19)
at com.thinkaurelius.titan.diskstorage.configuration.ConfigNamespace.<init>(ConfigNamespace.java:24)
at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.<clinit>(GraphDatabaseConfiguration.java:81)
at com.thinkaurelius.titan.core.TitanFactory.getLocalConfiguration(TitanFactory.java:240)
at com.thinkaurelius.titan.core.TitanFactory.getLocalConfiguration(TitanFactory.java:170)
at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:61)
at io.fama.api.service.GraphHolder.populateGraph(GraphHolder.java:28)
at io.fama.api.service.GraphHolder.graph(GraphHolder.java:21)
at io.fama.api.DebugTests.main(DebugTests.java:7)

当 maven 运行测试时,它会抛出不同的错误。这看起来与依赖关系有关。

最佳答案

您没有包含堆栈跟踪,但可以轻松地从 Gremlin shell 重现它。运行 gremlin.sh 时,通常最好从 $TITAN_HOME 目录运行它,而不是 $TITAN_HOME/bin。

gremlin> graph = TitanFactory.open('conf/titan-cassandra-test.properties')
Backend shorthand unknown: conf/titan-cassandra-test.properties
Display stack trace? [yN] y
java.lang.IllegalArgumentException: Backend shorthand unknown: conf/titan-cassandra-test.properties
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:120)
at com.thinkaurelius.titan.core.TitanFactory.getLocalConfiguration(TitanFactory.java:175)
at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:61)

您需要注意相对路径。您很可能从不同的目录运行该程序,因此无法解析属性文件的相对路径。从正确的父目录运行程序或使用绝对路径。

关于java - Titan 关于图创建的 IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31923874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com