public void createDatabase(){
     // Make a TDB-backed dataset
      String directory = "MyDatabases/ex1/" ;
      Dataset dataset = TDBFactory.createDataset(directory) ;

      dataset.begin(ReadWrite.READ) ;
      // Get model inside the transaction
      Model model = dataset.getDefaultModel() ;
      dataset.end() ;

      dataset.begin(ReadWrite.WRITE) ;
      model = dataset.getDefaultModel() ;
      dataset.end() ;
}
.

我有这个非常简单的代码直接从jena的api网页复制( http://jena.apache.org/documentation/tdb/java_api.html )尝试创建数据库。调用CreateDataset时出错:

Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.hp.hpl.jena.sparql.core.DatasetImpl.<init>(Lcom/hp/hpl/jena/sparql/core/DatasetGraph;)V from class com.hp.hpl.jena.tdb.TDBFactory
at com.hp.hpl.jena.tdb.TDBFactory.createDataset(TDBFactory.java:91)
at com.hp.hpl.jena.tdb.TDBFactory.createDataset(TDBFactory.java:83)
at com.hp.hpl.jena.tdb.TDBFactory.createDataset(TDBFactory.java:79)
.

有帮助吗?

解决方案

有一些Java问题 - 可能是版本冲突,或者Jena-Arq的JAR文件的文件访问问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top