не могу запустить java-код с owlapi

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

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 для зависимости, но тщетно. кто-нибудь может сказать мне, как решить эту проблему, пожалуйста, спасибо.


person S. Mess    schedule 17.09.2015    source источник
comment
пытался использовать maven для зависимости, но тщетно, что это значит? Вы вообще не могли использовать maven или зависимости были разрешены? Также у вас есть банка Google Guava в настройках вашего проекта?   -  person Kunal Khaladkar    schedule 18.09.2015


Ответы (2)


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

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

person Ignazio    schedule 18.09.2015

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

<dependencies>
    <dependency>
        <groupId>net.sourceforge.owlapi</groupId>
        <artifactId>owlapi-distribution</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
person Madhur    schedule 17.10.2017