未找到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
java -cp <complete path for your supporting jar>;<your jar which you want to run>
(出于安全放在同一文件夹两个罐子)
我认为,解决我的问题谢谢!现在又缺少一个班级,但我知道下一步如何解决这个问题。 (你的答案中的分号是一个错字,冒号有效。) – Thwaites 2011-05-12 19:32:38
冒号与分号是平台特定的 – 2011-05-12 19:34:53
好极了!如果您愿意,您可以将此答案标记为正确。这将标志着其他人已经回答了这个问题。 – Kaj 2011-05-12 19:35:03