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

丹尼尔·莫滕森

我将在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();
        }

    }

}
Sambit

您必须使用以下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/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Kotlin:如何创建可运行的jar?

使用Gradle创建可运行的JAR

如何使用maven创建一个可运行的jar,它在单独的“ lib”文件夹中包含依赖项(不是uber jar)

如何以编程方式从源代码创建可运行的jar文件?

如何使用休眠配置为Maven Eclipse项目制作可运行的jar文件

如何在使用Eclipse创建的可运行jar中指定外部log4j2配置文件

如何使用运行JAR的Maven Appassembler创建.bat文件?

使用Maven 2构建可运行的jar

将Proguard与可运行的JAR文件一起使用

使用可运行的jar文件执行时,如何解决多个线程的Java问题?

使用JAVAFX作为外部库构建JAVA项目的可运行Jar

Maven-创建可运行的jar并从依赖库中提取类

从单个Maven项目创建多个可运行的Jar(包括依赖项)

使用可运行的jar运行Akka

可运行的jar如何在运行时加载外部xml文件?

运行在客户端使用Maven创建的Jar文件

如何在Eclipse中将多个Java文件导出为单个可运行的jar文件?

创建包含外部文件的可运行Jar

如何将所有依赖项放在可运行jar的单独文件夹中?

如何将资源文件打包到可运行的jar中

JRE不使用可运行jar的清单文件指定的类路径

如何使用Maven和Netbeans创建可执行jar文件

Javafx 10或更低版本,可下载以创建可运行的jar文件

Android Studio 如何创建可运行的 APK

有没有办法运行-.jar文件(使用JavaFX创建)而不显示任何内容(GUI,进度,...)?

JAR中有多个可运行类,如何运行它们?

如何使可运行的jar指向另一个JRE,Maven?

如何使用Maven生成JAR

JavaFX 11:使用Gradle创建一个jar文件