【问题标题】:the main startup class is not vaild, main method is missing主启动类无效,缺少主方法
【发布时间】:2020-06-20 22:48:58
【问题描述】:

正如您在标题中看到的,当我尝试将我的程序执行到 .exe 并运行它时,我得到了这个错误(主启动类无效,缺少 main 方法)......这很明显是 main方法丢失,但问题是它不是...我在主类中有主方法,我可以从 Intellij idea 打开程序很好,但是当我执行它时出现这个错误......并且没有当我用谷歌搜索时,互联网上出现了这样的错误,所以有人对这个问题有任何想法吗?

public class Main extends Application {

    public static Stage stage = new Stage();

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("view/login.fxml"));
        stage = primaryStage;
        primaryStage.centerOnScreen();
        primaryStage.initStyle(StageStyle.UNDECORATED);
        primaryStage.setScene(new Scene(root, 822, 600));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

}

【问题讨论】:

  • I try to execute my program to .exe - 此声明需要澄清。你究竟是如何运行这段代码的?还要在此处发布实际的错误文本。
  • 你在调用launch(String[] args)方法,它是在哪里定义的?

标签: java jar executable-jar execute


【解决方案1】:

我认为,当您设置工件以构建 .jar 文件时,您忘记了指向 Main 类。

转到您的 Project Structure 窗口 (File > Project Structure)。

然后转到Artifacts 选项卡。

然后点击左上角的+图标,点击JAR,然后点击From modules with dependencies

然后在 Main class 字段中,单击右侧的文件夹图标,然后选择您的 Main 类。

然后按三下OK

这是一个 gif,显示了Project Structure 窗口中的步骤:

然后,点击顶部的Build菜单。

然后单击Build Artifacts,然后单击您创建的工件旁边的构建。

这是一个显示过程的 gif,您可以期望 .jar 文件在哪里结束:

【讨论】:

  • 感谢您的精彩解释,但我在您的 gif 中所做的完全相同,当我运行 jar 程序时,它说同样的错误......经过数小时的测试、尝试和搜索后,我发现错误是`public static Stage stage = new Stage(); ` 当我删除它并构建程序时,我运行了 jar 并且它工作了....我不知道是什么问题,但是当我删除该行时我解决了它。
猜你喜欢
  • 2015-02-12
  • 1970-01-01
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 2012-11-15
  • 2013-12-02
  • 2018-09-17
  • 2014-01-04
相关资源
最近更新 更多