【问题标题】:Could not find main class when double clicking jar- tried quite a few solutions双击jar时找不到主类-尝试了很多解决方案
【发布时间】:2014-08-07 11:21:47
【问题描述】:

我搜索了与此问题相关的其他帖子,但未能找到解决我的问题的解决方案。

我可以通过命令提示符使用 java -jar helloworld.jar 并且它运行良好,但是如果我双击它命令提示符会短暂打开并且我瞥见标题中的错误。

有人以进入注册表并检查 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\jarfile\Shell\Open\Command 值是否正确设置为 javaw 文件路径的形式提供了解决方案,它为:

"C:\Program Files\Java\jdk1.8.0_05\bin\javaw.exe" -jar "%1" %*

另一个解决方案提供了在 PATH 环境变量中的参考,我在里面有这个:

C:\Program Files\Java\jdk1.8.0_05\bin

我确定 MANIFEST 文件是正确的,因为该项目在 Netbeans 中运行良好,当然,当您尝试命令提示符 java -jar helloworld.jar 时,它可以完美运行。

谁能给点建议?我一直在摆弄这个几个小时无济于事,我无法确定我哪里出错了。感谢stackoverflow!

编辑:

我也试过了:

关联.jar

ftype jarfile

返回 .jar=jar 文件 和 jarfile="C:\Program FIles\Java\jdk1.8.0_05\bin\javaw.exe" -jar "%1" %*

分别。

这是清单信息:

Manifest-Version: 1.0 Ant-Version: Apache Ant 1.9.2 Created-By: 1.8.0_05-b13 (Oracle Corporation) Class-Path: X-COMMENT: Main-Class will be added by build Main-Class: mypackage.HelloWorld

【问题讨论】:

    标签: java netbeans jar build


    【解决方案1】:

    如果您使用的是 Eclipse,则在导出 Jar 时它会询问 Main 类。在那里你必须从多个类中选择一个主类。

    从命令行 -

    java -cp name.jar classname
    

    这里的类名应该是一个完全限定的类名。

    【讨论】:

    • 您好,抱歉,我应该添加一个 NETBEANS 标记,我正确设置了主类并检查了清单文件以确认它。如果您通过命令提示符 java -jar helloworld.java 执行此操作,java 文件将完美运行,但如果您双击它则不会!我知道这与我的文件关联有关,但我 99% 确定它设置正确
    【解决方案2】:

    我的猜测是您的 JAR 文件可以正常工作。

    如果你想在执行程序时看到返回值,最好将输入和输出重定向到一个小的Swing Window。或者你会让控制台等待一些输入。

    【讨论】:

      【解决方案3】:

      我不久前遇到了一个问题(运行 IPConfig),在该问题中命令将运行并且命令提示符会在我看到任何内容之前关闭。听起来这就是这里发生的事情,就在您看到错误之前窗口消失了。

      尝试先打开命令提示符并在没有“java -jar”命令和开关的情况下运行文件。据我了解,双击 .jar 将完全尝试(在没有 java 命令的情况下运行文件),出错并关闭命令提示符窗口。也许尝试这样做会使命令提示符保持打开状态并让您看到错误消息。它也可能描述了问题(据我所知,双击不使用“java -jar”命令)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-24
        • 2011-07-22
        • 1970-01-01
        • 2020-05-04
        • 1970-01-01
        • 2022-11-01
        相关资源
        最近更新 更多