JFX11+IDEA跨平台打包发布的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联专注于企业成都全网营销推广、网站重做改版、集贤网站定制设计、自适应品牌网站建设、html5商城网站制作、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为集贤等各大城市提供网站开发制作服务。

这篇文章主要介绍JFX11+IDEA跨平台打包发布的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1 概述

IDEA2020.1的文档中提到只有JFX8的工程才支持打成jar包,并且,如果直接使用Build Artifacts的话,会如下提示:

JFX11+IDEA跨平台打包发布的方法

IDEA文档有提到这个的解决办法,是使用一些第三方工具。里面介绍了通过IDEA结合自身/Maven/Gradle打包发布JFX11以上版本的方法。但是,不足的地方有:

  • 直接创建JFX工程默认只有一个src目录,不像Maven工程还带有resources与test,给管理资源文件以及外部依赖造成了困难,getClass().getResource()会出现空指针问题,但是好处是只需具备JDK环境,打包出来的文件能带上jmods能跨平台直接运行
  • 直接创建Maven项目虽然是管理依赖以及资源文件方便,但是无论是直接通过Maven打出的jar包还是通过JavaFX Maven Plugins打出来的jar包默认绑定了开发平台的JFX SDK,简单地说就是Linux开发的JFX程序不能直接跑在具有JDK环境的Win上,因为用的是Linux的JFX SDK而不是Win的JFX SDK

因此,本文结合这两者的优点,参照Maven的目录管理,以JFX工程为基础,记录了从新建工程到发布跨平台JFX应用的过程。

2 环境

  • IDEA 2020.1
  • OpenJDK 11
  • OpenJFX 11 Linux SDK
  • OpenJFX 11 Linux/Windows/Mac OS X jmods

JDK安装就不说了,JFX直接下载然后在工程中通过外部库引入即可,三种jmods解压出来即可,用于最后生成可执行文件时添加的模块。
下载链接戳这里。

3 新建JFX工程

JFX11+IDEA跨平台打包发布的方法

这里的项目名为TestJFX,对应修改即可。

JFX11+IDEA跨平台打包发布的方法

4 添加JFX11 SDK

JFX11+IDEA跨平台打包发布的方法

添加上一步下载的对应平台的JFX SDK。

JFX11+IDEA跨平台打包发布的方法

5 添加module-info.java

在src目录右键New->module-info.java,修改如下:

module TestJFX {
  requires javafx.fxml;
  requires javafx.controls;
  
  opens sample to javafx.fxml;
  exports sample;
}

标题名称:JFX11+IDEA跨平台打包发布的方法-创新互联
文章转载:http://azwzsj.com/article/ccsdcc.html