通过Java连接Titan db - 抛出异常

时间:2015-10-04 08:28:45

标签: java titan

我有一个java代码段

 TitanGraph g = TitanFactory.open("titan-all-0.4.4/conf/titan-berkeleydb.properties"); 

其中titan-berkeleydb。属性是Titan db安装附带的构建配置文件。

执行时,它会抛出异常

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.isNotBlank(Ljava/lang/String;)Z

at com.thinkaurelius.titan.graphdb.configuration.KCVSConfiguration.<init>(KCVSConfiguration.java:40)
at com.thinkaurelius.titan.diskstorage.Backend.initialize(Backend.java:273)
at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:1174)
at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.<init>(StandardTitanGraph.java:75)
at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:40)
at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:29)

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:2)

如果您正在使用${$m.$i} = 20; 的Web应用程序,则必须将Tomcat文件添加到应用程序的jar文件夹中(或者添加到$ TOMCAT_HOME / lib文件夹中,如果您有更多的webapps使用它)。

使用此jar创建库并将其添加到项目类路径。

如果您完成了所有操作但仍然无法正常工作,则可以将WEB-INF/lib扩展名更改为jarzip并将其打开,以查看您所需的所需类是否在内。

答案 1 :(得分:1)

检查你的类路径以查找另一个commons-lang - * .jar。根据Apache Commons文档,isBlank()方法自2.0以来是新的。 https://commons.apache.org/proper/commons-lang/javadocs/api-2.5/org/apache/commons/lang/StringUtils.html#isBlank%28java.lang.String%29

Titan 0.4.4在lib目录中附带commons-lang-2.5.jar。您的原始帖子没有提及有关运行时环境的任何其他内容。我怀疑如果你在类路径上有例如commons-lang-1.0.1.jar,它会在commons-lang-2.5.jar之前被拾取并且你会看到错误。