2012-09-22 28 views
1
XML頁面

創建用於解析或Extratcting URIS在耶拿圖書館模型類我已經wriitten後續的使用Jena Library打印網頁上的URI的代碼,但它顯示一個錯誤。該代碼是無法從RDF?

 public static void test(String url) 
    { 
     try 
     { 
      System.out.println("to go"); 
      Model read = ModelFactory.createDefaultModel().read(url); 
      System.out.println("to go"); 
      StmtIterator si=read.listStatements(); 
      System.out.println("to go"); 
      while(si.hasNext()) 
      { 
      Statement s=si.nextStatement(); 
       Resource r=s.getSubject(); 
      Property p=s.getPredicate(); 
       RDFNode o=s.getObject(); 
       System.out.println(r.getURI()); 
       System.out.println(p.getURI()); 
       System.out.println(o.asResource().getURI()); 

      } 
     } 
      catch(JenaException | NoSuchElementException c) 
      { } 
      } 

誰能幫我解決這個問題???

這是不能夠創建一個模型讀取對象。該URL是xml頁面的Web地址。發生

以下錯誤:

  Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
     at com.hp.hpl.jena.util.Metadata.<clinit>(Metadata.java:39) 
     at com.hp.hpl.jena.JenaRuntime.<clinit>(JenaRuntime.java:37) 
     at com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl.<clinit>(RDFReaderFImpl.java:74) 
     at com.hp.hpl.jena.rdf.model.impl.ModelCom.<clinit>(ModelCom.java:54) 
     at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:142) 
at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:136) 
at web.crawler.WebCrawler.test(WebCrawler.java:52) 
at web.crawler.WebCrawler.main(WebCrawler.java:98) 
    Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
+0

什麼是錯誤? c.printStackTrace(); – Pierre

+0

它是一個'''NoSuchElementException''',這就是我會承擔? –

+0

我已經編輯了帖子以及我的錯誤.. –

回答

1
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 

庫SLF4J的* .jar從classpath中失蹤。

+0

謝謝pierre.It工作,但現在它需要Apache.Xerces lib.I補充說。它再次要求org.w3c.dom.ElementTraversal庫。我在正確的軌道上,是否有任何其他圖書館需要.. –

+0

hey.it工作後,增加了六個其他圖書館工作。非常感謝 –

+1

@PrannoyMittal,在SO這裏,當你解決你的問題的時候,你需要同時接受和回答一個答案(也可以提供其他有用的答案) – Raffaele

1

以下是我不得不添加更多的庫:

import org.slf4j.*; 
    import org.apache.xerces.util.XMLChar; 
    import org.w3c.dom.ElementTraversal; 
    import org.apache.jena.iri.IRIFactory; 
2

添加所有的罐子中分佈的lib /目錄。您可以使用lib/*表格作爲類路徑。

如果您仍然缺少org.w3c.dom.ElementTraversal(它在xml-apis中),這是因爲您有舊版本的Xerces和舊的xml-apis。

0

我解決它添加在耶拿的lib目錄中的所有庫可獲取的。 我GESS耶拿需要另一個lib或jar文件,但我不知道especific的.jar,所以我加入他們。 然後它的工作!