Не удалось создать первый экземпляр Jena TDB

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() ;
}

У меня есть этот очень простой фрагмент кода, скопированный непосредственно с веб-страницы API Jena ( 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)

1 ответ

Решение

Существует некоторая проблема с Java - может быть конфликт версий или проблема с доступом к файлу в jar-файле для jena-arq.

Другие вопросы по тегам