1 概述

最近研究JFX,写出来了但是打包不了,这。。。尴尬。。。

IDEA的文档说只支持Java8打成jar包:

尝试过直接使用Maven插件的package,不行,也尝试过Build Artifacts,也不行,各种奇奇怪怪的问题。包括下图中的

Error....fx:deploy is not available in this JDK

不过幸好文档末尾提到可以使用一些第三方工具:

因此记录一下使用IDEA打包JFX11工程的过程。

2 环境

IDEA 2020.1

OpenJDK 11

OpenJFX 11

只需安装IDEA与JDK即可,JFX可以在pom.xml中引入。

3 创建工程

选择Maven,选择Create from archetype,然后Add Archetype并填上GroupId:

org.openjfx

与ArtifactId:

javafx-maven-archetypes

还有version:

0.0.1

下一步自定义,这里为了方便就直接默认了。

然后修改archetypeArtifactId为

javafx-archetype-fxml

完成即可。

4 检查文件

Maven同步完后,检查项目目录下的module-info.java与pom.xml,其中pom.xml不应该是下图这样的:

而应该是这样的,包含了javafx.controls与javafx.fxml依赖,还有javafx-maven-plugin插件:

同时src下的module-info.java应该长这样:

module-info.java包含了所需要的javafx.controls与javafx.fxml这两个模块。

5 修改插件依赖

默认的javafx-maven-plugin版本应该为0.0.1:

整个去掉,修改为:

org.openjfx

javafx-maven-plugin

0.0.4

true

2

true

true

launcher

output

outputzip

org.openjfx.App

其中launcher为可执行文件名,jlinkImageName为Image输出目录名,jlinkZipName为zip文件名,mainClass为主类。

6 运行并打包

从右侧栏的Maven通过javafx插件运行并打包:

7 测试

根据修改插件时的目录,进入对应的target下的子目录直接运行即可:

项目目录/target/output/bin/launcher

注意这个是跨平台的,只需具备JDK11环境即可,发布只需要把zip文件发布。

8 demo

9 扩展阅读

这篇文章是OpenJFX的文档,主要介绍了:

通过三种方式(JFX+Maven+Gradle)运行Hello World

构建运行镜像(CLI+Maven+Gradle+自定义镜像)

IntelliJ/NetBeans/Eclipse通过三种方式(IDE自身+Maven+Gradle)运行与打包JFX

链接戳这里。

idea javafx添加maven_IDEA通过Maven打包JavaFX工程(OpenJFX11)相关推荐

  1. build.xml java打包_配置pom.xml用maven打包java工程的方法(推荐)

    下面小编就为大家带来一篇配置pom.xml用maven打包java工程的方法(推荐).小编觉得挺不错的, 现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 最近由于项目需要,研究了一下mav ...

  2. maven 打包普通java配置_配置pom.xml用maven打包java工程的方法(推荐)

    最近由于项目需要,研究了一下maven的打包,项目要做到 1,生成3个目录/lib,/conf,/bin目录 2,把所有的jar目录编译.拷贝到/lib目录(包括maven的jar包和lib目录下的j ...

  3. idea中二级包为什么创建不了_IDEA通过Maven打包JavaFX工程(OpenJFX11)

    1 概述 最近研究JFX,写出来了但是打包不了,这...尴尬... IDEA的文档说只支持Java8打成jar包: 尝试过直接使用Maven插件的package,不行,也尝试过Build Artifa ...

  4. 如何配置pom.xml用maven打包java工程

    最近由于项目需要,研究了一下maven的打包,项目要做到 1,生成3个目录/lib,/conf,/bin目录 2,把所有的jar目录编译.拷贝到/lib目录(包括maven的jar包和lib目录下的j ...

  5. 使用Maven 构建、开发和打包 JavaFX 项目

    Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理等.使用 Maven, 可以方便地构建打包JavaFX项目.本章前提条件是你系统已经安装并且配置好了 jdk8 和 Maven, ...

  6. Windows Java JavaFX IntelliJ IDEA 开发环境搭建 创建工程 编译运行 打包分发 自定义运行时

    博文目录 文章目录 本文说明 JavaFX 简单说明 JavaFX 版本说明 JavaFX 与 JDK 的关系 JavaFX 与 JDK Modular (JDK 9 模块化系统) JavaFX 模块 ...

  7. JDK11+Maven开发JavaFx启动问题:java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper

    JDK11 + Maven 开发 JavaFx 创建 Maven 项目 引入依赖 尝试启动(失败) 遇到问题 解决方案 旧电脑上 JDK8 开发 JavaFx 项目就很舒服欸,JDK11 不内置 Ja ...

  8. 記録一次JDK 11下運行JavaFX(IntelliJ IDEA的Maven項目下)

    從JDK 11開始,JavaFX已經不包含在JDK裡,所以我們要運行JavaFX程式,會比之前的版本中運行要麻煩一些.為此我查閱了一下JavaFX社區的資料:https://openjfx.io/op ...

  9. SpringBoot 的其他使用 及 maven打包

    SpringBoot----开发环境/测试环境和生产环境 application.properties是SpringBoot默认加载的,全局配置,则全部放在这里,假如有需要不同环境,配置不同的参数,比 ...

最新文章

  1. DDoS高防服务如何选择?
  2. Python学习笔记:多线程和多进程(转1)
  3. django cookie、session
  4. 第十届机器学习及其应用研讨会 MLA’2012 Slides
  5. 元宵节快乐 | 2月15日 星期二 | 携程在国内率先开启混合办公模式;米哈游推出元宇宙品牌;AMD宣布完成对赛灵思的收购...
  6. 一台手机苹果含泪赚4000?iPhone 12硬件成本曝光
  7. jms与ActivityMQ中的简单使用
  8. 苹果手机Safri浏览器 js 解析问题
  9. 编辑器 的保存怎么绑定事件_135编辑器有哪些可以快速提升新媒体小编工作效率的功能?...
  10. 教育认证有效期 有道云笔记_有道云笔记使用指南
  11. 计算机游戏缓存在哪里清楚,电脑清除缓存在哪里-怎么干净的清理电脑缓存电脑很卡东西清理不干净 爱问知识人...
  12. 全球及中国装配式建筑行业深度研究与发展模式咨询报告2022版
  13. MFC CString 长度取得
  14. PPT打开之后不能编辑,怎么解决?
  15. matlab角频率怎么表示,[Matlab]频率f,角频率Ω和数字频率w的物理含义
  16. php两个手机号正则表达式_最新手机号码正则表达式(php版)
  17. 单板嵌入式计算机定义,用于嵌入式控制系统的单板计算机
  18. Spring4 实战笔记(3):面向切面编程
  19. 个人用户拨号上网除了具备计算机,计算机和网络基的础知识总复习资料第一部分网络.doc...
  20. 股票交易接口api自动交易-Java继承

热门文章

  1. svm 的提前处理
  2. MySQL优化器:index merge介绍
  3. git rebase教程
  4. Struts1和Struts2的区别和对比(完整版)
  5. ElasticSearch什么是文档?索引一个文档
  6. 怎么样才算是精通 Python?
  7. 【机器学习】Logistic Regression 的前世今生(理论篇)
  8. 鸟哥的Linux私房菜(基础篇)- 附录 B: EXT2 / EXT3 文件系统
  9. 《分布式操作系统》知识点(29~34)五
  10. 4.从单应矩阵中分离得到内参和外参(需要拍摄n=3张标定图片)