JAVAfx11打包部署

1.将默认打包工具删除,添加maven-shade-plugin依赖,如下



    4.0.0

    com.kaiban
    java11PackageTest
    1.0-SNAPSHOT
    java11PackageTest

    
        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
                        
                        
                            
                                
                                    
                                    com.kaiban.javafx11.AppLauncher
                                
                            
                        
                    
                
            
        
    

2.和继承了Application类的主类平级,新建一个启动类,如下

package com.kaiban.javafx11;

import javafx.application.Application;

public class AppLauncher {
    public static void main(String[] args) {
        Application.launch(MainApp.class,args);
    }
}

3.用idea运行AppLauncher类能正常显示界面,用idea启动原来的主类MainApp能正常显示界面。

4.执行maven 的 mvn package (不要clean,会构建失败,需要用到第三步idea运行时生成的一些文件)

5.在targer文件中,运行那个没有original的 jar包即可

6.参考:https://www.freesion.com/article/8071715375/

7.如果报找不到模块: javafx.controls 那就是第三步没做,或者package前clean了

你可能感兴趣的:(java)