未找到Java类

问题描述:

我试图从jar文件运行一个java程序。 Java找不到支持的marc4j类。我究竟做错了什么。这里是细节未找到Java类

在我目前的直接是MarcTry.jar这是我的主要类。还有marc4j.jar其中有缺少的类:

org/marc4j/MarcReader 

例如:

java -jar MarcTry.jar Exception in thread "main" java.lang.NoClassDefFoundError: org/marc4j/MarcReader Caused by: java.lang.ClassNotFoundException: org.marc4j.MarcReader at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Could not find the main class: marctry.Main. Program will exit.

我已经试过

Java的罐子MarcTry.jar -classpath marc4j.jar

有和没有marc4j.jar一个完全合格的路径。

欢迎任何想法。

当您使用“-jar”开关时,classpath被忽略。用“-classpath”指定两个jar并使用完全限定名称执行主类。

E.g. java命令MarcTry.jar; marc4j.jar com.domain.MainClass

..或在MarcTry.jar

的清单文件中添加marc4j.jar到类路径条目

你可以阅读有关添加罐子这里清单文件的classpath:Adding Classes to the JAR File's Classpath

+0

我认为,解决我的问题谢谢!现在又缺少一个班级,但我知道下一步如何解决这个问题。 (你的答案中的分号是一个错字,冒号有效。) – Thwaites 2011-05-12 19:32:38

+0

冒号与分号是平台特定的 – 2011-05-12 19:34:53

+0

好极了!如果您愿意,您可以将此答案标记为正确。这将标志着其他人已经回答了这个问题。 – Kaj 2011-05-12 19:35:03

java -cp <complete path for your supporting jar>;<your jar which you want to run> 

(出于安全放在同一文件夹两个罐子)