Cómo convertir un programa JavaFX en un archivo ejecutable exe en java

En la programación diaria, a menudo queremos escribir algunos pequeños programas de utilidad. Como ingeniero de Java, la primera opción es JavaFX. La interfaz GUI es demasiado antigua y, por lo general, no la usaremos. Entonces, ¿cómo empaquetamos el programa JavaFX escrito en ¿un programa exe?¿Tela de lana? Luego, el editor lo guiará sobre cómo usar el software JSmooth para generar programas exe.

1. Escribe un programa JavaFX

El código del programa es el siguiente:

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. Empaquetar el programa JavaFX

1. Configurar el complemento de empaquetado

            <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. Use el comando maven para empaquetar

mvn clean package -Dmaven.test.skip=true

3. Embalaje completado

Verifique en el directorio de destino, si aparece xxx-jar-with-dependencies.jar, ¡el empaquetado se realizó correctamente!

Crear carpetas de acuerdo con los programas, como comentarios

Copie el paquete jar empaquetado en esta carpeta

3. Descarga el software de empaquetado JSmooth

1. Descarga el software JSmooth

haga clic para descargar

Cuarto, use JSmooth para generar EXE

1. Después de abrir JSmooth, la interfaz principal es la siguiente:

2. Haga clic en el esqueleto de la izquierda

Selección de Windows Wrapper: Windowed Wrapper, el atributo esqueleto verifique el primero: inicie la aplicación Java en el proceso EXE:

3. Seleccione el archivo ejecutable a la izquierda

Archivo binario configurable: ingrese xxx.exe, que es el nombre del archivo exe generado, por ejemplo el mío: feedback.exe

Ícono ejecutable: ingrese el directorio del archivo del ícono (el directorio es preferiblemente el directorio del mismo nivel o el subdirectorio del mismo nivel), o no configurado

4. Haga clic en la aplicación a la izquierda

Ingrese el nombre de clase completo para la clase principal, configure los parámetros del programa (si no, no lo configure) y elija incrustar el paquete jar

5. Haga clic en la selección de JVM a la izquierda

1) Establecer la versión de Java

2) Seleccione el directorio jdk y copie jre en la carpeta creada anteriormente, y configure el paquete de enlace JVM en JSmooth en el directorio jre copiado. La razón principal aquí es permitir que el programa se conecte a un JRE independiente, no en cada computadora Ambos necesitan para instalar JRE

6. Haga clic en configuración de JVM a la izquierda

Si no hay requisitos especiales aquí, omita directamente por defecto

En este punto, puede guardar la información de configuración actual en el directorio de la nueva carpeta y luego puede abrirla y empaquetarla directamente.

7. Generar archivo exe

Haga clic en el siguiente icono para generar el archivo ejecutable exe

Aparece el siguiente cuadro de aviso, la generación es exitosa

Regrese al directorio de la carpeta y podrá ver el archivo exe generado en la carpeta en este momento:

Haga doble clic para abrir y probar:

Muy bien, ese es el final de la clase de hoy, ¡salir de la clase ha terminado!

Supongo que te gusta

Origin blog.csdn.net/m0_37649480/article/details/129494438
Recomendado
Clasificación