【发布时间】:2011-07-22 15:13:31
【问题描述】:
首先:我意识到这个问题应该很简单,而且很多人似乎都经历过。但是,我的问题似乎与现有帖子略有不同。
我正在使用 NetBeans 编译 Java 应用程序。构建完成后,输出会正确进入 dist\ 文件夹。 jar 文件在那里。如果我转到命令行,导航到该文件夹,然后调用以下命令:
java -jar Prosperity.jar
一切正常。显然,应用程序的名称是 Prosperity。以下命令也可以正常工作:
javaw -jar Prosperity.jar
但是,双击 .jar 文件会给出消息:“找不到主类:”,然后给出 .jar 文件的路径。我已经检查了一百次 META-INF 文件夹存在于 .jar 文件中,并且其中存在一个具有正确主类名称的 MANIFEST.MF。我还检查了主类(App.class).class 文件是否存在于 .jar 文件中。
所以问题是:双击文件和在上面运行 javaw 有什么区别?它不会只是运行,真是令人沮丧!
感谢您给我的任何指导,我在这里扯头发!
【问题讨论】:
-
似乎 Java 不知何故认为我的主类实际上被命名为我正在运行的 jar 文件的 PATH。不知道它是怎么想出来的。它似乎忽略了清单中的值并寻找名称为:C:\Users\MyUser\MyApp\Prosperity.jar 的主类。我假设如果我能弄清楚它如何成为它正在寻找的主类的名称,那么我可以解决问题。
标签: java command-prompt mainclass javaw