2015-03-13 4 views
0

Я пытаюсь использовать библиотеки Jena внутри плагина eclipse.Использование Jena в плагине Eclipse

Если я использую это нормально, я могу писать код, как это:

public static void main(String[] args) { 
    Query query = QueryFactory.create("SELECT * {} LIMIT 10"); 
    // provider.disconnect(file); 
    QueryExecution qexec = QueryExecutionFactory.sparqlService(
      "http://dbpedia.org/sparql", query); 
    switch (query.getQueryType()) { 
    case (Query.QueryTypeSelect): { 
     ResultSet results = qexec.execSelect(); 
     ResultSetFormatter.out(System.out, results); 
     break; 
    } 
    default: 
     return; 
    } 
} 

Но когда я использую тот же код для выполнения запросов SPARQL из проекта плагина Eclipse (я запускаю плагин в другом затмении runtime), это не сработает. Нет даже исключения. Отладчик просто странный. Вот код, где он не работает (его метод внутри реализации ILaunchShortcut):

public void launch(IFile file) { 
    MessageConsoleStream out = findConsole(CONSOLE_NAME).newMessageStream(); 
    try { 
     provider.connect(file); 
     IDocument document = provider.getDocument(file); 
     String queryString = document.get(); 
     provider.disconnect(file); 
     out.println(queryString); 
     Query query = QueryFactory.create(queryString); 
     // provider.disconnect(file); 
     QueryExecution qexec = QueryExecutionFactory.sparqlService(
       "http://dbpedia.org/sparql", query); 
     switch (query.getQueryType()) { 
     case (Query.QueryTypeSelect): { 
      ResultSet results = qexec.execSelect(); 
      ResultSetFormatter.out(out, results); 
      break; 
     } 
     default: 
      return; 
     } 
    } catch (CoreException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

Об утверждении Query query = QueryFactory.create(queryString); отладчик переходит в класс «EventTable.class» и делает странные вещи. А затем заканчивается в цикле «org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine». Я не знаю, почему и что происходит.

Я только узнал, что происходит некоторая обработка ошибок. Ошибка говорит: «parsers.FactoryConfigurationError: поставщик для класса javax.xml.parsers.DocumentBuilderFactory не может быть создан»

ответ

0

После некоторых исследований в Интернете я узнал, что мне пришлось добавить пакет javax.xml к зависимостям моего проекта плагина Jena Wrapper. Теперь он отлично работает.

Смежные вопросы