【问题标题】:Executable Jar File refusing to execute even with main class specified?即使指定了主类,可执行的 Jar 文件也拒绝执行?
【发布时间】:2016-11-07 17:19:47
【问题描述】:

最近我创建的每个应用程序(在清理和构建之后),可执行文件都不想运行该应用程序。

我使用 WinRAR 检查了清单文件的内容,内容(包括指定的主类)在那里,并且与有效的可执行 jar 文件的清单文件内容相匹配。

我已经尝试卸载并重新安装 NetBeans,我检查了我的计算机注册表中 javaw 文件的文件路径,它是正确的。我尝试通过命令提示符使用java -jar "C:/Users/MyPC/Documents/NetBeansProjects/New Java Test App/dist/New_Java_Test_App.jar" 行执行文件,出现的输出是C:\Users\MyPC>,但什么也没发生

我可以做些什么来解决这个问题,以便我未来的项目(和最近的项目)的可执行 jar 文件再次执行?

【问题讨论】:

  • 听起来像是权限问题。
  • 我看到你的路径名中有空格,但周围没有引号。
  • 但问题是它以前从来没有这样做过。直到最近几天前它才开始这样做,自从我 3 个月前安装它以来,我没有对我的 Netbeans 进行任何更改。如果是权限问题,我该如何解决?
  • @ErwinSmout 我现在只是尝试使用引号来查看它是否有效,并且它仍然提供与以前相同的输出
  • 你试过 java -jar "C:/Users/MyPC/Documents/NetBeansProjects/New Java Test App/dist/New_Java_Test_App.jar"

标签: java netbeans jar executable-jar


【解决方案1】:

好的,这并不完全是“修复”,但这是我尝试过的一种解决方法:

当我创建一个项目时,我总是取消选中 Create Main Class 框。我过去一直这样做,并且可执行的 jar 文件在构建后仍然会执行应用程序。但情况已不再如此。

所以现在如果我选中 Create Main Class 框,它会创建一个具有如下主方法的类:

    public static void main(String[] args) 
    {
            //Blank
    }

然后我创建我希望在执行时出现的实际类。我们称之为MainFrame.java。然后我回到创建项目时生成的类中的main方法,输入如下代码:

public static void main(String[] args) 
{
        MainFrame mf = new MainFrame();
        mf.setVisible(true);
}

然后我清理并构建应用程序,双击可执行 jar 文件,MainFrame GUI 根据需要打开。这是目前唯一可行的过程

【讨论】:

    猜你喜欢
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 2015-04-18
    • 2012-09-30
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多