0

我收到一条错误消息,java.lang.NoClassDefFoundError: usemathobject/Main我不确定为什么会收到它。

在做了一些搜索之后,我找到了一个处理这个错误的线程。在那个线程中,它说我需要修改 MANIFEST.MF 文件,但它没有向我清楚地解释如何修改该文件。它指定在命令行上放什么,而不是在MANIFEST.MF文件中放什么。我也尝试添加

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

to Manifest.mb,正如https://blogs.oracle.com/olaf/entry/jdev_including_a_classpath_in上所建议的那样,但这没有用。

我正在NetBeans IDE 6.9.1使用Windows Vista.

4

3 回答 3

1
Main-Class: usemathobject.UseMathObject

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

于 2013-05-19T00:23:50.067 回答
0

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

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

jar cfe Main.jar Main Main.class

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

java -jar Main.jar

于 2013-05-19T00:43:34.133 回答
0

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

我认为您最好尝试了解Java 的包、类路径和 jar 文件机制是如何工作的。阅读 Oracle 教程的以下部分:

一旦您阅读并理解了这些部分,这一切都会变得有意义......您将能够弄清楚您做错了什么以及如何解决它。

于 2013-05-19T01:43:40.540 回答