java - java程序中的异常,使用owl api

标签 java owl reasoning

我正在尝试运行一个简单的 Java 程序示例,用于我在网上找到的 owl 本体推理。它使用 owl api 和隐士推理机。 所以我添加了 org.semanticweb.HermiT 和 owlapi-osgidistribution-4.0.2 库。我仍然遇到以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/inject/Provider
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
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)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
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)
at obligation.Obligation.main(Obligation.java:43)
Caused by: java.lang.ClassNotFoundException: com.google.inject.Provider
    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)
    ... 25 more
Java Result: 1

我在 stackoverflow 上发现了一个类似的问题,解决方案是

You're missing the guava jars. For OWLAPI 4.0.2, you also need all other jars included in the maven dependencies. If you could not use Maven to build your code, you'll need to make sure all the dependencies are added manually.

我在我的项目中添加了 Guava jar ,但我没有设法解决问题。另外我真的不知道 Maven 依赖项中包含的所有 jar 是什么。 你能帮我解决这个问题吗?

最佳答案

您可以使用 maven 进行构建,也可以使用以下快捷方式:下载 owlapi-osgidistribution jar 文件并解压缩;您会在其中找到一个 lib 文件夹,其中包含所有必需的 jar 文件。

关于java - java程序中的异常,使用owl api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32989853/

相关文章:

java - QueryDsl 集模式

java - 如何通过hibernate生成namedQuery?

owl - 猫头鹰:oneof and onto:oneof support in owlim?有什么区别

java - 如何使用 Jena API 将一个资源关联到另一个资源

java - Java中OWL 2本体不一致的解释

Java/JavaFX - 在尝试数据库连接时检查互联网连接是否存在

java - 如何从 spring Batch 步骤返回自定义 RepeatStatus

database - 在 Neo4J 数据库上使用 Jena 推理器

conditional-statements - 门徒-猫头鹰 : Class must have one of each <value>

python - 使用 apache solr 设置 Conceptnet