2015-09-17 2 views
0

Я новичок в owlapi, и я пытаюсь написать образец Java-кода на debian для загрузки онтологии, которую я уже создал с помощью protégé. Я использую «owlapi-osgidistribution-4.0.2.jar», но я всегда получаю эту ошибку:не может запускать Java-код с owlapi

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/cache/CacheLoader 
at org.semanticweb.owlapi.vocab.OWLFacet.<init>(OWLFacet.java:87) 
at org.semanticweb.owlapi.vocab.OWLFacet.<clinit>(OWLFacet.java:60) 
at org.semanticweb.owlapi.vocab.OWL2Datatype$Category.<clinit>(OWL2Datatype.java:328) 
at org.semanticweb.owlapi.vocab.OWL2Datatype.<clinit>(OWL2Datatype.java:74) 
at uk.ac.manchester.cs.owl.owlapi.InternalsNoCache.<clinit>(InternalsNoCache.java:59) 
at uk.ac.manchester.cs.owl.owlapi.OWLDataFactoryImpl.<init>(OWLDataFactoryImpl.java:128) 
at uk.ac.manchester.cs.owl.owlapi.OWLDataFactoryImpl.<clinit>(OWLDataFactoryImpl.java:74) 
at org.semanticweb.owlapi.apibinding.OWLManager.getOWLDataFactory(OWLManager.java:152) 
at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:113) 
at LoadingOntologies.main(LoadingOntologies.java:22) 
Caused by: java.lang.ClassNotFoundException: com.google.common.cache.CacheLoader 
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:425) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
... 10 more 

я пытался использовать Maven для зависимости, но тщетно. может кто-нибудь сказать мне, как решить эту проблему, пожалуйста, спасибо.

+0

«пытался использовать maven для зависимости, но напрасно», что это значит? Вы вообще не могли использовать maven или разрешили ли зависимости? Также есть ли в вашем проекте банку Google Guava? –

ответ

0

Вам не хватает кувшины гуавы. Для OWLAPI 4.0.2 вам также нужны все другие банки, включенные в зависимости от maven. Если вы не можете использовать Maven для создания своего кода, вам нужно убедиться, что все зависимости добавлены вручную.

Можете ли вы описать, что вы пробовали с Maven, и какие у вас ошибки?

0

На мой взгляд, лучший способ получить все зависимости - через Maven. Поиск JAR вручную требует слишком много времени.

<dependencies> 
    <dependency> 
     <groupId>net.sourceforge.owlapi</groupId> 
     <artifactId>owlapi-distribution</artifactId> 
     <version>5.1.0</version> 
    </dependency> 
</dependencies> 
Смежные вопросы