我想用 Java 中的 HypergraphDB 做一些事情。我对这种语言和 IDE Netbeans 不是很熟悉。我按照描述 HGDB 安装的步骤进行操作:链接到教程 现在我想用 Java 编写一个示例(使用 NetbeansIDE)。
所以我创建了新项目,添加了对下载库的引用。好的,现在我可以使用 HGDB 导入包了。我的main
方法中唯一的东西是HyperGraph HG = new HyperGraph(dbLocation);
. 此代码编译。但是得到以下运行时错误:
run:
checkpoint kbytes:0
checkpoint minutes:0
java.lang.IllegalStateException: There is 1 existing transaction opened against the Environment.
Aborting open transactions ...
aborting <Transaction id="28">
at com.sleepycat.je.Environment.close(Environment.java:383)
at org.hypergraphdb.storage.bje.BJEStorageImplementation.shutdown(BJEStorageImplementation.java:178)
at org.hypergraphdb.HGStore.close(HGStore.java:355)
at org.hypergraphdb.HyperGraph.open(HyperGraph.java:392)
at org.hypergraphdb.HyperGraph.open(HyperGraph.java:213)
at org.hypergraphdb.HyperGraph.<init>(HyperGraph.java:200)
at hgdbtest.HgdbTest.main(HgdbTest.java:16)
Exception in thread "main" org.hypergraphdb.HGException: java.lang.NoSuchMethodError: org.hypergraphdb.storage.bje.LinkBinding.objectToEntry(Ljava/lang/Object;Lcom/sleepycat/je/DatabaseEntry;)V
at org.hypergraphdb.HyperGraph.open(HyperGraph.java:395)
at org.hypergraphdb.HyperGraph.open(HyperGraph.java:213)
at org.hypergraphdb.HyperGraph.<init>(HyperGraph.java:200)
at hgdbtest.HgdbTest.main(HgdbTest.java:16)
Caused by: java.lang.NoSuchMethodError: org.hypergraphdb.storage.bje.LinkBinding.objectToEntry(Ljava/lang/Object;Lcom/sleepycat/je/DatabaseEntry;)V
at org.hypergraphdb.storage.bje.BJEStorageImplementation.store(BJEStorageImplementation.java:234)
at org.hypergraphdb.HGStore.store(HGStore.java:119)
at org.hypergraphdb.HGTypeSystem.addPrimitiveTypeToStore(HGTypeSystem.java:185)
at org.hypergraphdb.HGTypeSystem.bootstrap(HGTypeSystem.java:234)
at org.hypergraphdb.HyperGraph.open(HyperGraph.java:355)
... 3 more
Java Result: 1
BUILD SUCCESSFUL (total time: 4 seconds)
我猜这是由 BerkeleyDB 的原生 API 引起的。
根据教程,在项目选项中,我将-Djava.library.path=$HGDB_ROOT/lib/native/$PLATFORM
运行卡上的参数作为 VM 选项提供。我使用库的完整路径而不是系统变量。我在 Windows7 中的操作系统。我不确定是否使用斜杠、反斜杠或双反斜杠作为路径分隔符。?
所以一个简单的问题是:我如何设置 IDE 以使用 HypergraphDB?
谢谢你的建议!