1
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)
4

1 回答 1

0

存在一些 java 问题 - 可能是版本冲突,或者 jena-arq 的 jar 文件存在文件访问问题。

于 2014-02-26T17:04:45.443 回答