2015-04-07 54 views
0

我正在嘗試導入Pellet推理器到Jena,Pellet的最新版本是2.3.1,我無法找到任何要導入的.jar文件。另外,我遵循Wiki/FAQ在Mac OS下的版本文件夾中運行bash文件。顯示錯誤消息:導入Pellet推理器到Jena

Error: Unable to access jarfile lib/pellet-cli.jar

看來,我有我自己導出一個jar文件並導入jar文件放進我的耶拿工作場所和我一樣,但Java異常出現,當我使用OntModel model = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);

的例外信息是:

java.lang.NoClassDefFoundError: 
org/mindswap/pellet/utils/progress/ProgressMonitor 
at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:95) 
at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:1) 
at com.hp.hpl.jena.ontology.impl.OntModelImpl.generateGraph(OntModelImpl.java:2852) 
at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:142) 
at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:131) 
at com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:300) 
at smarthome.ReasoningController.main(ReasoningController.java:113) 
at smarthome.SmartHomeGUI.main(SmartHomeGUI.java:34) 
... 11 more 
Caused by: java.lang.ClassNotFoundException: org.mindswap.pellet.utils.progress.ProgressMonitor 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
... 19 more` 

我該如何解決這個問題?提前致謝。

+0

如果您在耶拿使用顆粒,您可能需要檢查您的進口。您必須使用爲耶拿設計的推理工廠,對於您的代碼示例,這些導入適用於我: import org.mindswap.pellet.jena.PelletReasonerFactory; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.rdf.model.ModelFactory; – Hatim

回答

-1

第一關@ Pranay的回答是死的。然而,耶拿和Pellet從那以後都被更新了。 Jena現在在版本2.13.x中,並且粒子在2.4.0中。因此,如果你想更新到最新,你將不得不創建一個新的粒子.jar文件。請參閱此文件https://github.com/Complexible/pellet/blob/master/pom.xml
以查明所有依賴關係及其各自的版本。

+0

Pellet的最新版本是v2.4.0-SNAPSHOT,而不是4.0.0。而Ignazios分公司已合併成Pellet。 –