栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaFX项目基础应用 Graalvm打包javafx项目成exe

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaFX项目基础应用 Graalvm打包javafx项目成exe

JavaFX项目基础应用

官网:JavaFX 国区官网:JavaFX中文官方网站

软件下载

1: javafx sdk下载 地址:JavaFX下载 | JavaFX中文官方网站 下载对应java的版本,一般分java11、java17长期版本,java8版本只有b测版本

2:source builder图形界面下载 地址:Scene Builder | JavaFX中文官方网站 下载对应java版本,分java8和java11+的版本

3:安装文档 get-start说明: Getting Started with JavaFX

IDEA与javaFX IDEA下载fx插件(高版本自带)

setting -> plugins -> javaFX -> install

 

Languages & FreameWorks -> javaFX -> Path to SceneBuilder -> {SceneBuilder安装目录}

 

1:直接看官网的配置

教程地址: Getting Started with JavaFX

2:自己创建

新建Maven项目配置

File -> New -> Project -> Maven -> Create from archetype -> Add archetype

参数: groupId -> org.openjfx artifactId -> javafx-maven-archetypes version -> 0.0.6

 

选择刚刚创建的archetype进入下一步

新建项目属性 GroupId(com.demo) Artfactid(HelloFX) Version(1.0-SNAPSHOT)

 

下一步修改archetypeArtifactId为 javafx-archetype-fxml ,新增javafx为11.0.2 (下载的版本 java11版本javafx需要低于17)

 

如上配置,打开正常构建后悔自动添加javaFX配置与插件

 

新建一个Main应用程序,写入

public class Main {
​
    public static void main(String[] args) {
        Application.launch(App.class);
    }
}

启动Main程序

 

修改pom.xml打包为可执行jar包配置

添加如下2个插件

   
                org.apache.maven.plugins
                maven-dependency-plugin
                
                    
                        copy
                        package
                        
                            copy-dependencies
                        
                        
                            ${project.build.directory}/lib
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-jar-plugin
                3.2.0
                
                    
                        
                        
                            
                            true
                            lib/
                            
                            com.demo.Main
                        
                    
                
            

 

执行启动jar包

 

打包注意点:

假如系统多个java版本,导致maven编译时jdk版本不一致时,修改maven编译运行版本 Setting -> Build,Execution,Deployment -> Build Tools -> Maven -> Run -> 修改为需要的版本

 

Graalvm打包JavaFX 添加依赖pom

(这里下载使用java11和graalvm版本20.3.5)

属性下添加

20.3.5

依赖下添加sdk


    org.graalvm.sdk
    graal-sdk
    ${graal-sdk.version}
    provided

构建的属性插件下添加native-image镜像插件 在根目录下新建bin文件


    org.graalvm.nativeimage
    native-image-maven-plugin
    ${graal-sdk.version}
    
        
            
                native-image
            
            package
        
    
    
        false
        HelloFX
        com.demo.Main
        
            --force-fallback --native-image-info
        
        
        
              bin/
        
    
项目复制到C盘

(和native-image指令同一个驱动盘)

项目封装exe

打开打包窗口

 

执行打包命令mvn clean package

 

打包完成示意图

 

到bin执行exe文件,完美执行

 

正常运行

 

graalvm新技术特点

把exe和jar包复制到其他windows系统也能正常执行,并且启动内存减少、启动速度提高

打包注意点:

graalvm_home 和 native-image 和 pom.xml 的 graal-sdk 版本一致

必须使用x64 Native Tools Command prompt for VS 2019窗口执行native-image打包,不然会出现cl.exe找不到的错误

项目打包路径必须与graalvm同一个驱动盘(基本都在C盘),否则会出现 'other' has different root错误

===========graalvm官网 下载地址:GraalVM 快速启动地址:GraalVM

====================完整的pom.xml



    4.0.0
​
    com.demo
    HelloFX
    1.0-SNAPSHOT
    
        UTF-8
        11
        11
        20.3.5
    
    
        
            org.openjfx
            javafx-controls
            15.0.1
        
        
            org.openjfx
            javafx-fxml
            15.0.1
        
​
        
            org.graalvm.sdk
            graal-sdk
            ${graal-sdk.version}
            provided
        
​
    
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.0
                
                    11
                
            
            
                org.openjfx
                javafx-maven-plugin
                0.0.5
                
                    
                        
                        
                        default-cli
                        
                            com.demo.App
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-dependency-plugin
                
                    
                        copy
                        package
                        
                            copy-dependencies
                        
                        
                            ${project.build.directory}/lib
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-jar-plugin
                3.2.0
                
                    
                        
                        
                            
                            true
                            lib/
                            
                            com.demo.Main
                        
                    
                
            
            
                org.graalvm.nativeimage
                native-image-maven-plugin
                ${graal-sdk.version}
                
                    
                        
                            native-image
                        
                        package
                    
                
                
                    false
                    HelloFX
                    com.demo.Main
                    
                        --force-fallback --native-image-info
                    
                     
                     
                        bin/
                    
                
            
        
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750064.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号