2016-11-22 41 views
0

我已经为db2triples程序编译并制作了一个可执行的jar文件。我正在使用以下命令来执行jar文件。使用db2triples(Maven项目)时找不到主类

java -cp target/dependency/*.jar:target/db2triples-1.0.3-SNAPSHOT.jar net.antidot.semantic.rdf.rdb2rdf.main.Db2triples 

主类尚未在MANIFEST.MF文件中定义,因此,我明确地在命令中定义它。 net.antidot.semantic.rdf.rdb2rdf.main.Db2triples是目标/类目录中主要类的位置。

我正在使用Windows操作系统。

更新: 使用分号后,以下错误影响了:

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 
+1

在windows中使用; (分号)而不是: – aios

+0

如果使用分号,则会在问题描述 – Karan

+0

中更新NoClassDefFoundError您应该将commons-cli.jar添加到您的依赖项中。 – aios

回答

0

你需要或者运行从target/classes目录的命令或添加target/classes目录到-cp列表。