繁体   English   中英

如何使用Maven + JavaFX创建可运行的JAR文件

[英]How can I create a runnable JAR file with Maven + JavaFX

我将在Eclipse IDE中创建一个可运行的JAR文件。 我所有的依赖项都来自Maven。 在Eclipse中,我正在为桌面创建JavaFX GUI应用程序。

问题是当我创建可运行的JAR文件时。 我得到这个错误。

在此处输入图片说明

错误非常明显。

罐子出口出现问题。 请参阅详细信息以获取其他信息。 从给定的启动配置中找不到主要方法。

但是主要方法是什么? 这是public static void main(String[] args)方法吗?

我该怎么做才能解决这个问题?

package se.danielmartensson.start;

import java.util.Optional;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonType;
import javafx.stage.Stage;
import se.danielmartensson.concurrency.Measureing;

public class Main extends Application{

    /*
     * Start the start(Stage front)
     */
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage front) throws Exception {
        front.setOnCloseRequest(e->{
            e.consume();
            askForClosing();
        });
        Parent root = FXMLLoader.load(getClass().getResource("/se/danielmartensson/fxml/front.fxml"));
        Scene scene = new Scene(root);
        front.setScene(scene);
        front.setTitle("JUBSPlotter");      
        front.show();
    }

    private void askForClosing() {
        Alert question = new Alert(AlertType.CONFIRMATION);
        question.setTitle("Closing");
        question.setHeaderText("Do you want to close?");
        question.setResizable(false);
        question.setContentText("Press OK to close.");
        Optional<ButtonType> answer = question.showAndWait();
        if(answer.get() == ButtonType.OK) {
            Measureing.active = false;
            Platform.exit();
        }

    }

}

您必须使用以下maven插件来创建可运行的jar文件。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>
                                com.ddlab.rnd.App
                            </mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

这是一个非常简单的项目,您想在其中了解如何创建要运行的可执行jar文件。 要对如何创建可运行/可执行的jar文件有个好主意,请检查此github链接。 https://github.com/debjava/runnableJar如果您还有其他要用作应用程序一部分的库。 您必须创建胖子jar文件。 要创建一个胖jar文件,您必须使用Maven Shade插件。 在下面找到Maven Shade插件的链接。

https://maven.apache.org/plugins/maven-shade-plugin/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM