【发布时间】:2013-07-26 15:17:22
【问题描述】:
我正在开发一个包含三个类的程序,还包括一些外部 jar 档案和类。当我在 Eclipse 中运行它时,它可以正常工作,但我需要尝试使用其他一些程序,所以我需要在控制台上运行它。我将所有内容保存在一个文件夹中,该文件夹包含另外两个文件夹,一个包含我创建的 .class,另一个包含 .java 和 .jar 档案,另一个包含外部类。我试图创建一个包含此文件夹和清单的 .jar 存档,我在其中告诉了主类在哪里。
当我运行它时,我收到“线程“main”java.lang.NoClassDefFoundError 中的异常”,所以它没有找到 main 所在的类,但我不知道为什么。我尝试了一些不同的方法来在清单中定义它并更改类路径,但它仍然不起作用。
有什么解决办法或建议吗?
谢谢!
【问题讨论】:
-
请发布: - 用于创建 Jar 的命令 - 用于运行程序的命令 - 失败时的堆栈跟踪(即看到
Exception in thread "main"时的完整错误消息等) -
这对我来说似乎是一个熟悉的情况。你的 startscript 看起来怎么样?
-
好像find了你的main,但是抛出了java.lang.NoClassDefFoundError,可以加一些stacktrace吗?
-
堆栈跟踪是“线程“主”中的异常 java.lang.NoClassDefFoundError: /bin/TextClient 原因:java.lang.ClassNotFoundException: .bin.TextClient at java.net.URLClassLoader$1.run (URLClassLoader.java:217) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:205) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:321) 在sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 找不到主类:/bin/TextClient。程序将退出。
-
我使用“jar -cmf manifest.txt Server.jar Server”来创建 jar,作为 Server 包含所有档案的文件夹。我用“java -jar Server.jar”运行它
标签: java class exception jar main