我知道这个主题有很多问题,但他们都没有很好地适用于我的情况。基本上我创建了一个包含三个类文件的程序,其中一个名为UserInterface.class,其中包含主函数。我制作了一个包含Main-Class:shoppingCrawler.UserInterface的Manifest.txt,并带有回车符。然后我做了jar cfm shoppingCrawler.jar Manifest.txt * .class。这会创建一个名为shoppingCrawler.jar的jar文件。但是,当我做了java -jar shoppingCrawler.jar我得到了Jar文件的NoClassDefFoundError
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。程序将会退出。
你知道怎么回事吗?谢谢!
检查生成的jar文件。文件夹结构应该是shoppingCrawler/,并且根目录应该是MANIFEST文件。 –
srkavin