我目前正在编写一个无限图数据库扫描程序,用户可以通过提供* .boot文件连接到远程InfiniteGraph。我正在使用InfiniteGraph的蓝图实现
即。的 com.tinkerpop.blueprints.impls.ig.IGGraph 的
现在,当机器已经安装了InfiniteGraph版本时,代码可以正常工作,但在其他情况下会失败。我试图在我的项目中将 bin 文件夹与安装目录捆绑在一起,但它仍然失败。 我正在使用的代码:
IGGraph graph = new IGGraph("D:\\PROPERTY_GRAPH_TEST.boot");
for (Vertex vertex : graph.getVertices()) {
System.out.println("vertex.toString() = " + vertex.toString());
}
我得到的例外:
Exception in thread "main" java.lang.RuntimeException: com.objy.db.ObjyRuntimeException: Query setup error: Configuration Error: Unable to find the objectivity.crg file.
at com.tinkerpop.blueprints.impls.ig.IGGraph.<init>(IGGraph.java:67)
at com.globalids.test.TestIGGraph.main(TestIGGraph.java:13)
Caused by: com.objy.db.ObjyRuntimeException: Query setup error: Configuration Error: Unable to find the objectivity.crg file.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.objy.pm.ErrorManager.exceptionToThrow(Unknown Source)
at com.objy.pm.ErrorManager.interpretKernelErrors(Unknown Source)
at com.objy.pm.ErrorManager.checkRegisteredErrors(Unknown Source)
at com.objy.pm.ExternalInterface.localErrorCheck(Unknown Source)
at com.objy.pm.ExternalInterface.checkedLong(Unknown Source)
at com.objy.pm.ExternalInterface.QueryScanItr(Unknown Source)
at com.objy.pm.QueryScanItr.<init>(Unknown Source)
at com.objy.db.internal.Query.execute(Unknown Source)
at com.infinitegraph.impl.ConnectionManager.verifyCompatability(ConnectionManager.java:211)
at com.infinitegraph.impl.ConnectionManager.connect(ConnectionManager.java:98)
at com.infinitegraph.GraphFactory.openGraph(GraphFactory.java:227)
at com.infinitegraph.GraphFactory.open(GraphFactory.java:86)
at com.tinkerpop.blueprints.impls.ig.IGGraph.<init>(IGGraph.java:62)
... 1 more
任何人都可以帮忙解决这个问题吗?
提前谢谢。
答案 0 :(得分:2)
感谢您的提问。实际上,分发需要的不仅仅是复制的“bin”才能成功运行。你能确保将“etc”和“plugins”目录分别复制到“bin”目录所在的目录中吗?这是因为InfiniteGraph使用“bin”目录的位置来查找“etc”和“plugins”目录中的其他配置文件(文件,objectivity.crg
和其他所需文件所在的位置)。如果您有任何其他问题,可以发送电子邮件至support@objectivity.com。谢谢!