首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >首次运行db2triples时的主类异常

首次运行db2triples时的主类异常
EN

Stack Overflow用户
提问于 2015-02-03 22:49:49
回答 2查看 472关注 0票数 1

我第一次尝试使用db2triples,这是一个java / maven项目。

我从其github页面那里得到了这方面的信息。

到目前为止,我已经完成了以下步骤:

  1. cd /programs/db2triples-master
  2. vim pom.xml和添加了db2triples依赖项。
  3. mvn compile
  4. mvn package
  5. mvn dependency:copy-dependencies
  6. java -cp target/dependency/*.jar:target/db2triples-1.0.3-SNAPSHOT.jar net.antidot.semantic.rdf.rdb2rdf.main.Db2triples

我得到了一个错误:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2693)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3040)
    at java.lang.Class.getMethod0(Class.java:3010)
    at java.lang.Class.getMethod(Class.java:1776)
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more

搜索完后,这可能是类路径错误,但我不确定。要运行这个应用程序需要做些什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-11 19:48:24

此错误意味着当您运行db2triples时,它无法找到所需的依赖项。

解决此问题的一种方法是将所需的依赖项添加到类路径中。实际上是否处于目标/依赖关系中?

解决这一问题的另一种方法是构建一个包含所有依赖项的jar。程序集插件作为jar与依赖项描述符。将其添加到pom中的<build><plugins>部分。

代码语言:javascript
复制
  <plugin>
     <artifactId>maven-assembly-plugin</artifactId>
     <version>2.5.3</version>
     <configuration>
        <descriptorId>jar-with-dependencies</descriptorId>   
     </configuration>
  </plugin>

来构建它,mvn assembly:assembly

您应该有另一个jar位于名为db2triples-<version>-jar-with-dependencies.jar的目标中。然后,要运行应用程序,只需运行java -cp dbp2triples-<version>-jar-with-dependencies.jar net.antidot.semantic.rdf.rdb2rdf.main.Db2triples

票数 2
EN

Stack Overflow用户

发布于 2015-02-03 22:57:16

根据链接的github页面,您应该获得所需的依赖项。

需要依赖 OpenRdf芝麻> 2.6.x - http://www.openrdf.org/共用-cli> 1.2 - http://commons.apache.org/cli/共用-日志记录> 1.1.1 - http://commons.apache.org/logging/

或者,如果使用maven,则将db2triples作为依赖项添加到pom中。

net.antidot db2triples

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28310276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档