我理解这个主题有很多问题,但似乎没有一个问题适用于我的情况。基本上我创建了一个包含三个类文件的程序,其中一个名为UserInterface.class,包含main函数。我创建了一个包含Main-Class的Manifest.txt:带有回车符的shoppingCrawler.UserInterface。然后我做了jar cfm shoppingCrawler.jar Manifest.txt * .class。这将创建一个名为shoppingCrawler.jar的jar文件。但是,当我做了java -jar shoppingCrawler.jar时,我得到了
Exception in thread "main" java.lang.NoClassDefFoundError: UserInterface (wrong
name: shoppingCrawler/UserInterface)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
4)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
无法找到主类:UserInterface。程序将退出。
你知道什么是错的吗?谢谢!
答案 0 :(得分:0)
您的jar文件的内容是什么?在我看来,您的类文件位于根目录中,而不是位于“shoppingCrawler”目录中。
答案 1 :(得分:0)
在UserInterface
shoppingCrawler/UserInterface
您的类路径错误。请查看您的类路径,也许您从错误的目录中调用该应用程序(如果它没有被放入jar文件中)。或者你没有在你的jar中包含所有需要的类。