首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HypergraphDB Netbeans设置

HypergraphDB Netbeans设置
EN

Stack Overflow用户
提问于 2012-10-22 03:56:57
回答 2查看 761关注 0票数 1

我想用Java语言做一些关于HypergraphDB的事情。我对这种语言和IDE Netbeans不是很熟悉。我遵循了描述HGDB安装的步骤:Link to tutorial,现在我想用Java语言(使用NetbeansIDE)编写一个示例。

所以我创建了一个新项目,在下载的库中添加了参考。好了,现在我可以用HGDB导入包了。我的main方法中唯一的东西就是HyperGraph HG = new HyperGraph(dbLocation);。这段代码会编译。但得到以下运行时错误:

代码语言:javascript
复制
    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引起的。

根据本教程,在项目选项中,我在Run卡上提供了-Djava.library.path=$HGDB_ROOT/lib/native/$PLATFORM参数作为VM选项。我使用的是库的完整路径,而不是系统变量。我在Windows7中的操作系统。我不确定是否使用斜杠、反斜杠或双反斜杠作为路径分隔符。

因此,一个简单的问题是:如何设置集成开发环境以使用HypergraphDB?

谢谢你的建议!

EN

回答 2

Stack Overflow用户

发布于 2012-10-23 09:56:18

从堆栈跟踪可以看出,您使用的是最新版本的HyperGraphDB。在该版本中,不使用本机API。相反,它是Java独有的库。您必须在运行时类路径中包含BerkeleyDB Java Edition 5.0.34JAR。您可以从Oracle或HyperGraphDB http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html存储库获得它:http://hypergraphdb.org/maven/org/hypergraphdb/hgbdbje/1.2/hgbdbje-1.2.jar

票数 0
EN

Stack Overflow用户

发布于 2013-07-09 06:00:28

我也有同样的问题。我通过修改HyperGraphDB应用程序所依赖的库的顺序(意外地)修复了它。库je-version.jar必须在db-version.jar之上(因此在此之前被引用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13001608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档