染指余忆 2023-11-28 19:20 采纳率: 96.3%
浏览 1
已结题

包含javafx普通项目应该如何打包

使用jdk21能够使用idea的项目构建进行打包成jar,再使用exe4j打包成exe,但添加的是与javafx分离的java jdk21,无法运行。
于是我下载了jdk8的文件,在idea中更改jdk为8创建项目,但是构建失败。

  • 写回答

2条回答 默认 最新

  • 梦回阑珊 2023-11-28 20:12
    关注

    首先请关注下博主,后面在有不清楚的直接私信我,谢谢!!!!!

    对于包含 JavaFX 的普通项目,可以使用 Maven 或 Gradle 进行项目构建,并通过插件配置来支持 JavaFX 的打包。下面分别介绍使用 Maven 和 Gradle 的方法:

    使用 Maven:
    在 Maven 项目的 pom.xml 文件中,添加以下插件配置:

    <build>
        <plugins>
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.6</version>
                <configuration>
                    <mainClass>your.package.MainClass</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
    
    

    这个插件会自动添加 JavaFX 依赖,并在构建时打包 JavaFX 应用程序。

    在命令行中执行以下 Maven 命令进行构建:

    mvn clean javafx:run
    
    
    

    或者使用以下命令将项目打包成可执行 JAR 文件:

    mvn clean package
    
    
    
    

    打包完成后,你可以在 target 目录下找到生成的 JAR 文件,然后使用 java -jar your-project.jar 运行。

    使用 Gradle:
    在 Gradle 项目的 build.gradle 文件中,添加以下插件配置:

    plugins {
        id 'application'
        id 'org.openjfx.javafxplugin' version '0.0.10'
    }
    
    javafx {
        version = "11.0.2"
        modules = [ 'javafx.controls', 'javafx.fxml' ]
    }
    
    application {
        mainClassName = 'your.package.MainClass'
    }
    
    
    

    这里也是通过 javafxplugin 插件来支持 JavaFX 打包。

    在命令行中执行以下 Gradle 命令进行构建:

    ./gradlew run
    
    
    

    或者使用以下命令将项目打包成可执行 JAR 文件:

    ./gradlew clean build
    
    
    

    打包完成后,你可以在 build/libs 目录下找到生成的 JAR 文件,然后使用 java -jar your-project.jar 运行。

    请根据你的具体项目配置和需求,选择适合你的构建工具和配置方式

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月2日
  • 已采纳回答 12月25日
  • 创建了问题 11月28日

悬赏问题

  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令