我有一个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)
有没有办法解决这个问题?
答案 0 :(得分:2)
如果您正在使用${$m.$i} = 20;
的Web应用程序,则必须将Tomcat
文件添加到应用程序的jar
文件夹中(或者添加到$ TOMCAT_HOME / lib文件夹中,如果您有更多的webapps使用它)。
使用此jar创建库并将其添加到项目类路径。
如果您完成了所有操作但仍然无法正常工作,则可以将WEB-INF/lib
扩展名更改为jar
或zip
并将其打开,以查看您所需的所需类是否在内。
答案 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之前被拾取并且你会看到错误。