So konvertieren Sie ein JavaFX-Programm in eine ausführbare Exe-Datei in Java

In der täglichen Programmierung möchten wir oft einige kleine Dienstprogramme schreiben. Als Java-Ingenieur ist JavaFX die erste Wahl. Die GUI-Schnittstelle ist zu alt, und im Allgemeinen werden wir sie nicht verwenden. Wie packen wir also das geschriebene JavaFX-Programm hinein? ein Exe-Programm Wolltuch? Dann führt Sie der Editor durch die Verwendung der JSmooth-Software zum Generieren von Exe-Programmen.

1. Schreiben Sie ein JavaFX-Programm

Der Programmcode lautet wie folgt:

import com.tobiasy.file.filestorage.utils.JavaFxUtils;
import com.tobiasy.file.filestorage.utils.StringUtils;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.stage.Window;

/**
 * @author java.xiong
 * @date 2023/3/6
 */
public class FeedbackApplication extends Application {

    private Stage primary;
    private AnchorPane root;
    private VBox vBox;

    public FeedbackApplication() {
    }

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

    @Override
    public void start(Stage primaryStage) {

        primary = primaryStage;
        primary.setResizable(false);
        root = new AnchorPane();
        Scene scene = new Scene(root);
        primary.setTitle("意见反馈");
        JavaFxUtils.icon(primary);

        vBox = new VBox();
        vBox.setPrefWidth(750);
        vBox.setPrefHeight(380);
        vBox.setPadding(new Insets(30, 50, 20, 50));

        Label label = new Label("反馈信息:");
        TextArea textArea = new TextArea();
        textArea.setPromptText("请留下您宝贵的意见");
        textArea.setPrefRowCount(12);
        textArea.setPrefColumnCount(40);
        HBox.setMargin(textArea, new Insets(0, 0, 0, 10));

        HBox hBox = new HBox();
        hBox.getChildren().addAll(label, textArea);
        vBox.getChildren().addAll(hBox);
        root.getChildren().add(vBox);

        Button button = new Button("提交");
        button.setPrefWidth(80);
        button.setPrefHeight(30);
        AnchorPane.setTopAnchor(button, 260.0);
        AnchorPane.setLeftAnchor(button, 550.0);
        root.getChildren().add(button);
        button.setOnMouseClicked(event -> {
            if (StringUtils.isBlank(textArea.getText())) {
                new AlertApplication("反馈信息不能为空!").start(new Stage());
                return;
            }
            // 业务逻辑
            Window window = root.getScene().getWindow();
            Stage st = (Stage) window;
            st.close();
        });

        primary.setScene(scene);
        primary.setWidth(750);
        primary.setHeight(380);
        primary.show();

        root.setOnKeyPressed(event -> {
            if (KeyCode.ESCAPE.equals(event.getCode())) {
                primary.close();
            }
        });
    }
}

2. Packen Sie das JavaFX-Programm

1. Konfigurieren Sie das Paketierungs-Plug-In

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <!--给jar包起的别名-->
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <!--添加项目中主类-->
                            <mainClass>com.xxx.FeedbackApplication</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

2. Verwenden Sie den maven-Befehl zum Packen

mvn clean package -Dmaven.test.skip=true

3. Verpackung abgeschlossen

Prüfen Sie unter dem Zielverzeichnis, ob xxx-jar-with-dependencies.jar erscheint, das Packen war erfolgreich!

Erstellen Sie Ordner nach Programmen, z. B. Feedback

Kopieren Sie das gepackte JAR-Paket in diesen Ordner

3. Laden Sie die Verpackungssoftware JSmooth herunter

1. Laden Sie die JSmooth-Software herunter

Klicken Sie hier zum Herunterladen

Viertens verwenden Sie JSmooth, um EXE zu generieren

1. Nach dem Öffnen von JSmooth sieht die Hauptschnittstelle wie folgt aus:

2. Klicken Sie links auf das Skelett

Windows-Wrapper-Auswahl: Windowed Wrapper, das Skeleton-Attribut prüfen Sie das erste: Starten Sie die Java-Anwendung im EXE-Prozess:

3. Wählen Sie links die ausführbare Datei aus

Konfigurierbare Binärdatei: Geben Sie xxx.exe ein, das ist der Name der generierten Exe-Datei, zum Beispiel meine: feedback.exe

Ausführbares Symbol: Geben Sie das Symboldateiverzeichnis ein (das Verzeichnis ist vorzugsweise dasselbe Verzeichnis oder ein Unterverzeichnis derselben Ebene) oder nicht festgelegt

4. Klicken Sie links auf die Anwendung

Geben Sie den vollständigen Klassennamen für die Hauptklasse ein, legen Sie die Programmparameter fest (falls nicht, legen Sie sie nicht fest) und wählen Sie die Einbettung des JAR-Pakets aus

5. Klicken Sie links auf die JVM-Auswahl

1) Legen Sie die Java-Version fest

2) Wählen Sie das jdk-Verzeichnis und kopieren Sie jre in den oben erstellten Ordner und legen Sie das JVM-Bindungspaket in JSmooth auf das kopierte jre-Verzeichnis fest.Der Hauptgrund hier ist, das Programm an eine unabhängige JRE anhängen zu lassen, nicht auf jedem Computer, den beide benötigen um JRE zu installieren

6. Klicken Sie links auf JVM-Konfiguration

Wenn hier keine besonderen Anforderungen bestehen, wird standardmäßig direkt übersprungen

An dieser Stelle können Sie die aktuellen Konfigurationsinformationen im neuen Ordnerverzeichnis speichern und sie dann direkt öffnen und packen

7. Exe-Datei generieren

Klicken Sie auf das folgende Symbol, um die ausführbare EXE-Datei zu generieren

Die folgende Abfrage erscheint, die Generierung ist erfolgreich

Kehren Sie zum Ordnerverzeichnis zurück, und Sie können die generierte Exe-Datei zu diesem Zeitpunkt im Ordner sehen:

Zum Öffnen doppelklicken und versuchen:

In Ordnung, das ist das Ende des heutigen Unterrichts, raus aus dem Unterricht ist vorbei!

Guess you like

Origin blog.csdn.net/m0_37649480/article/details/129494438