为什么我在java应用程序中获得ClassNotFoundException?

时间:2013-05-19 00:22:09

标签: java netbeans

我收到一条错误,指出java.lang.NoClassDefFoundError: usemathobject/Main,我不知道为什么我会收到错误。

在进行一些搜索后,我找到了thread来处理此错误。在该线程中,它表示我需要修改MANIFEST.MF文件,但它没有向我解释如何修改该文件。它指定要放在命令行上的内容,而不是放在MANIFEST.MF文件中的内容。我也尝试过添加

Main-Class: "C:\Users\MyName\Documents\NetBeansProjects\UseMathObject\src\usemathobject\UseMathObject.java"

Manifest.mb,如https://blogs.oracle.com/olaf/entry/jdev_including_a_classpath_in所示,但不起作用。

我在NetBeans IDE 6.9.1上使用Windows Vista

3 个答案:

答案 0 :(得分:1)

Main-Class: usemathobject.UseMathObject

您提供包和类名,而不是文件路径。

答案 1 :(得分:0)

以下是为捆绑在可执行jar文件中的独立应用程序设置入口点的方法。使用以下选项可创建或覆盖清单文件中的Main-Class属性值。在创建jar文件或更新jar文件时可以使用此选项。此选项指定应用程序入口点,而不编辑或创建清单文件。

例如,此命令创建Main.jar,其中清单中的Main-Class属性值设置为Main:

  

jar cfe Main.jar Main Main.class

java运行时可以通过运行以下命令直接调用此应用程序:

  

java -jar Main.jar

答案 2 :(得分:0)

我认为这里的问题是你没有理解你正在做什么,你是在随意尝试人们告诉你的事情......而不理解他们所说的意思。而且您不了解错误消息告诉您的内容。

我认为你最好不要试图理解 Java的包,类路径和jar文件机制是如何工作的。阅读Oracle教程的以下部分:

一旦你阅读并理解了这些章节,它就会有意义......你将能够弄清楚你做错了什么以及如何解决它。