【问题标题】:The old "Java Could not find Main Class" Error旧的“Java 找不到主类”错误
【发布时间】:2012-05-15 03:41:13
【问题描述】:

我知道这个问题已经被问过很多次了,但是我做了研究,我的简单测试程序仍然无法在双击时运行。

当我从 jar (java -jar Test.jar) 运行程序时,它会运行良好,只是双击失败。

我在 64 位 Windows 7 Pro 上的 Eclipse 中做了一个简单的类,使用 JRE 7 并制作了一个 Jar 文件(已尝试 Runnable)

public class Test {
    public static void main(String[] args){
        System.out.println("nope");
    }
}

基本设置图片

这是我尝试过的(我记得的):

检查清单并确保类拼写正确,并在主类行的末尾添加了两个额外的空格

类包含在 jar 中

尝试过 Runnable Jar 和普通 Jar

在 Normal Jar 上,我包含了 Main Class 选项并选择了类

检查 ftype 并在 cmd 中输入 java 以查看选项是否出现

我尝试了其他选项,但我不记得了。

【问题讨论】:

  • 启动一个cmd,试试“start xxx.jar”。也许你可以找出问题所在。
  • 所有这一切就是运行文件,这与双击桌面将我放在同一个地方一样。如果我能找出问题所在,我就不会问了。
  • 您是否添加了换行符来结束清单中的 Main-Class 行?为什么有两个额外的空间,你在某个地方读到过这个?对我来说听起来很奇怪。
  • 我不确定你的意思是 /n 还是最后的空行,无论哪种方式我都添加了两个空格并更新了清单,但它仍然说找不到主类.

标签: java eclipse class jar main


【解决方案1】:

根据我对JAR file specification 的阅读,冒号后面应该有一个空格,类名后面应该有零个空格。任何额外的前导或尾随空格可能最终包含在名义类名称中,并且 可能导致 java 命令无法找到真正的入口点类名称.

【讨论】:

    【解决方案2】:

    我在双击运行时遇到了路径名中有空格的问题。当路径中有空格时,jar 不会使用双击执行,而是使用 java -jar EscapedPathToJarOrQuotedPathToJar

    【讨论】:

    • 我检查了,路径名中没有空格。
    【解决方案3】:

    对我来说听起来像是一个文件关联问题:您需要确保 Windows 设置为以正确的方式将 .jar 文件与 java.exe 关联。

    查看答案:Running JAR file on Windows

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 2016-01-04
    相关资源
    最近更新 更多