我正在嘗試導入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`
我該如何解決這個問題?提前致謝。
如果您在耶拿使用顆粒,您可能需要檢查您的進口。您必須使用爲耶拿設計的推理工廠,對於您的代碼示例,這些導入適用於我: import org.mindswap.pellet.jena.PelletReasonerFactory; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.rdf.model.ModelFactory; – Hatim