jdk11 + maven 打包JavaFX11

jdk11 + maven 打包JavaFX11

使用上一篇中新建的Java FX项目来演示。
使用 jdk11 + maven 开发 JavaFX

一次到位,直接打包成包含各种依赖的jar包,使用maven-shade-plugin打包插件。

pom文件配置如下:

	
        UTF-8
        11
        11
    

    

        
            org.openjfx
            javafx-controls
            11
        
        
            org.openjfx
            javafx-fxml
            11
        

        
            junit
            junit
            4.11
            test
        
    

    
        
            
                org.apache.maven.plugins
                maven-shade-plugin
                3.0.0
                
                    
                        package
                        
                            shade
                        
                        
                            
                                
                                    
                                    xyz.yuelai.App
                                
                            
                        
                    
                
            
        
    

然后运行:mvn clean package,会在target文件夹下面创建两个jar文件,其中含有original的jar文件不是我们需要的,另外一个才是,如图所示:
jdk11 + maven 打包JavaFX11_第1张图片

在文件learn-fx-1.0-SNAPSHOT.jar右键run:
jdk11 + maven 打包JavaFX11_第2张图片

你会发现,报错了,缺少JavaFX运行时组件,因为JavaFX11是模块化的,需要添加需要的模块,才能被访问到,但是也可以绕过这种检查,我们新建一个启动类,AppLauncher.Java。如下所示:
jdk11 + maven 打包JavaFX11_第3张图片

在启动类中启动JavaFX应用,不直接在App类中启动,可以绕过JavaFX的启动检查。我们可以用行AppLauncher.Java文件,可以正常运行:
jdk11 + maven 打包JavaFX11_第4张图片

此时更改pom文件中加载的主类为AppLauncher:
jdk11 + maven 打包JavaFX11_第5张图片

然后再执行clean,package命令,重新打包。再次运行打包好的jar文件,完美运行。
jdk11 + maven 打包JavaFX11_第6张图片

好了,使用jdk11+maven打包JavaFX的操作已经完成,接下来就可以正式开始JavaFX的学习了。编写代码,打包,发给别人炫耀一下。

欢迎对JavaFX感兴趣的小伙伴,可以加入群QQ623110424,共同学习,共同进步。

你可能感兴趣的:(javafx,javafx,java)