当前位置: 首页 > 知识库问答 >
问题:

无法使用owlapi运行java代码

太叔正文
2023-03-14

我是owlapi的新手,我正尝试在debian上编写一个java代码示例,以加载我已经使用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进行依赖,但徒劳。谁能告诉我如何解决这个问题,谢谢。

共有1个答案

彭礼骞
2023-03-14

在我看来,获得所有依赖关系的最好方法是通过Maven。手动定位罐子需要太多的时间。

<dependencies>
    <dependency>
        <groupId>net.sourceforge.owlapi</groupId>
        <artifactId>owlapi-distribution</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
 类似资料:
  • 我刚刚下载了IDE,我想用它编辑我的第一个Java文件,我对创建整个项目不感兴趣,只是编辑单个文件。 因此,我使用Intellij IDEA从桌面上打开了该文件,因为我将其设置为打开。java文件的默认程序。 我写了一些代码,主运行和调试按钮是灰色的!我不能运行我的代码! 编辑:我也无法运行我的文件,无论它是否在一个项目中。

  • 我尝试在eclipse中运行下面的代码,发布在这里。 但它并没有被执行。它抛出以下错误: 注意:我还添加了来自lib/extjmetr安装文件的外部罐 代码:

  • 下面的代码从excel文件中打印内容(在eclipse中尝试过),但我无法使用Groovy在Jmeter3.1中运行它。 我抛出了一个错误: JSR223脚本中的问题JSR223采样器,消息:javax.script.脚本异常:org.codehaus.groovy.control.多重编译错误异常:启动失败 这是我的代码:

  • 如果将Xmx设置为967或更高的值,则无法运行java。 C:\documents and settings\salesforce>java-xmx967m-VM初始化时发生版本错误,无法为对象堆预留足够的空间。错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。 在执行命令之前,有3GB的ram可用(任务管理器)。 环境: Java 1.7.0_25 32bits Windows se

  • 我正在尝试使用owlapi彻底的net beans加载.owl文件,以插入个人及其数据属性(使用owlapi文档中列出的代码),但它无法加载文件,但当我将.owl文件转换为.rdf格式时,它被成功加载,并且能够插入所需的数据。我需要操作.owl文件而不是.rdf格式 下面是我用来加载.owl而没有成功的代码 但是当我使用了如下所示的rdf fromat时,它就成功地加载了 那么我如何克服这个问题并

  • 问题内容: 基本上,我想做两件事: 我想知道是否可以使用Java代码运行Java代码。 如果可能的话,如何在屏幕上显示输出?(无论是常规输出还是错误或异常) 我知道这是可能的,因为我的一位前辈已经做到了,但是我不知道他是如何做到的。也许他使用了Java的内置类之一。 注意:用户将代码写入一些文本文件中,然后将文件内容存储在某个变量中,然后也许运行该代码。 问题答案: 是的,有可能。 步骤1:编译代