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)