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

1 概述

最近研究JFX,写出来了但是打包不了,这。。。尴尬。。。 IDEA的文档说只支持Java8打成jar包:

1a901b35095242dc0a4edf4d28c992b3.png

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

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

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

507839fcd9c98e01779c3386250b94b2.png

因此记录一下使用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

5fc554fd88d5a7ee031a93eae6f941fe.png

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

1488883e63055d529c0eb5e8aa54e37c.png

然后修改archetypeArtifactId为

javafx-archetype-fxml

5573eaa3d48a301adf331e32f5b8e1d4.png

完成即可。

4 检查文件

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

38d193adac92732e46d05abe7caa818c.png

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

df0bd7ae2f1ec6fec06746bf154858f5.png

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

6ce1764e317367e3ca6c293491e2851d.png

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

5 修改插件依赖

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

21f067c6dbf4b75e71a3a280851e4404.png

整个去掉,修改为:

<plugin>

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

6 运行并打包

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

c67c8f15f59747f7d6cee567f1ec3946.png

2c924b6b87a2e4e1eb1d5a568b943aa7.png

7 测试

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

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

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

8 demo

github​github.com码云​gitee.com

9 扩展阅读

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

  • 通过三种方式(JFX+Maven+Gradle)运行Hello World
  • 构建运行镜像(CLI+Maven+Gradle+自定义镜像)
  • IntelliJ/NetBeans/Eclipse通过三种方式(IDE自身+Maven+Gradle)运行与打包JFX
Getting Started with JavaFX​openjfx.io

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙系统发布会16号几点,华为鸿蒙手机系统正式定档发布,12月16日于我们见面...

#华为鸿蒙系统#大家都知道&#xff0c;华为手机已经无法预装谷歌GMS服务了&#xff0c;对于大部分海外用户来说&#xff0c;GMS服务还是相当重要的&#xff0c;谷歌全家桶内置了地图、搜索、视频娱乐等功能&#xff0c;但凡是搭载了安卓系统的智能手机&#xff0c;那么就无法离…

Gartner发布2021年重要战略科技趋势

来源&#xff1a;Gartner公司全球领先的信息技术研究和顾问公司Gartner于今日发布企业机构在2021年需要深挖的重要战略科技趋势。分析师们在本周举行的Gartner IT Symposium/Xpo大会美洲站虚拟会议上展示了自己的发现。Gartner研究副总裁Brian Burke表示&#xff1a;“各企业职…

pause pod 什么是pod_Kubernetes 自主式Pod清单 干货太多先马住慢慢看

在讲资源清单之前&#xff0c;先给大家介绍一下究竟什么是Kubernetes资源&#xff1f;有几种资源&#xff1f;① 资源分类&#xff1a;① 1 工作负载&#xff1a;pod、rs(ReplicasSet)、deploy(Deployment)、sts(StatefulSet)、ds(DaemonSet)、job、cronjob① 2 服务发现及负…

不会Python开发的运维终将被淘汰?

Python语言是一种面向对象、直译式计算机程序设计语言&#xff0c;由Guido van Rossum于1989年底发明。Python语法简捷而清晰&#xff0c;具有丰富和强大的类库&#xff0c;具有可扩展性和可嵌入性&#xff0c;是现代比较流行的语言。 一、最流行的语言 IEEE Spectrum 的数据记…

8大领域、6大机遇!读懂2020年AI医疗新风向

来源 | 工业互联网创新中心、36氪研究院编辑 | 蒲蒲蓝皮书如下未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#xff08;城市&#xff09;云脑研究计划&#xff0c;构建互联网&#xff08;…

arduino uno r3单片机封装图_Arduino教程 | 初识Arduino

前一段时间偶然进入创客空间并接触到了开源硬件&#xff0c;小编表示十分感兴趣。于是这周打算汇总一下网络上现有的一些关于Arduino的及教程进行分享。首先感谢一下各位原作者&#xff0c;在此表示十分感谢~什么是Arduino&#xff1f;Arduino是一个能够用来感应和控制现实物理…

神经网络原来是这样和数学挂钩的

来源&#xff1a;遇见数学近几年&#xff0c;有几个被媒体大肆报道的事件&#xff0c;如下表所示。如上所示&#xff0c;深度学习作为人工智能的一种具有代表性的实现方法&#xff0c;取得了很大的成功。那么&#xff0c;深度学习究竟是什么技术呢&#xff1f;深度学习里的“学…

鸿蒙os开发小程序,9岁小学生展示鸿蒙OS开发:这操作太秀了

华为的鸿蒙 OS 正在迅速成熟&#xff0c;这背后离不开无数开发者的支持。近日&#xff0c;鸿蒙 OS 技术社区就向大家介绍了一位特殊的鸿蒙开发者&#xff0c;今年只有 9 岁&#xff0c;还是个小学生 ……在鸿蒙社区&#xff0c;这位小开发者坐在镜头前&#xff0c;向大家演示了…

java调用一个方法后怎么继续执行不等待该方法的返回_Java面试题大全2020版(二)...

今天给大家推送第二部分&#xff0c;主要的大块内容分为&#xff1a;多线程、反射、对象拷贝。三大块内容中涉及到的考点如下&#xff1a;三、多线程35. 并行和并发有什么区别&#xff1f;并行是指两个或者多个事件在同一时刻发生&#xff1b;而并发是指两个或多个事件在同一时…

城市“脑梗” 当前城市大脑面临的困境

来源&#xff1a;中国建设报智慧城市 作者 刘锋 吕本富2020年&#xff0c;城市大脑已经成为前沿科技和城市建设发展的重点&#xff0c;有近百个城市宣布开展城市大脑建设。数百家科技企业进入到泛城市大脑的建设领域&#xff0c;有数百亿的资金投入到城市大脑的建设中。面对…

html5 banner特效,HTML5特效库 CSS3遮罩banner动画特效源码

效果图各位朋友。大家早上好&#xff01;今天给大家带来的是 CSS3遮罩banner动画特效源码&#xff01;看倦的轮播图的&#xff0c;可以试试这个特效&#xff01;别有一番意思&#xff01;大家可以按照自己的意愿进行行修改&#xff0c;改成自己喜欢的样子&#xff01;有想要文件…

android蓝牙通信_使用Arduino构建OLED显示屏与Android手机接口的智能手表

背景知识视频教程Arduino 训练营&#xff1a;通过项目学习​viadean.com通过制作Arduino UNO FM收音机接收器学习Arduino I2C​viadean.com通过构建实际应用程序来掌握Arduino - 国外课栈​viadean.com我们大多数人都熟悉162点阵液晶显示器&#xff0c;它在许多项目中用于向用户…

DeepMind新突破!首次用深度学习从第一性原理计算分子能量

来源&#xff1a;AI科技评论编译 | 青暮DeepMind发表了一项新研究&#xff0c;展示了深度学习如何帮助解决现实系统中的量子力学基本方程问题&#xff0c;相关论文发表在物理学期刊《Physical Review Research》&#xff0c;代码也已经开源。这种新的神经网络架构叫做Fermionic…

重磅发布:2020全球前沿技术发展趋势报告

来源&#xff1a;科技日报作者&#xff1a;刘垠、操秀英大热的脑机接口、基因编辑等前沿技术发展如何&#xff1f;2020年科技界关注了哪些热点&#xff1f;22日在浦江创新论坛上发布的《全球前沿技术发展趋势报告》带来了答案。《全球前沿技术发展趋势报告》由中国科学技术信息…

400错误是什么原因_499错误是什么?499错误的原因及解决方法

​HTTP状态码出现499错误有多种情况&#xff0c;499错误是什么&#xff1f;下面我们来学习Nginx 499错误的原因及解决方法。日志记录中HTTP状态码出现499错误有多种情况&#xff0c;比如nginx反代到一个永远打不开的后端&#xff0c;日志状态记录就会是499、发送字节数是0。​经…

MapReduce过程详解及其性能优化

http://blog.csdn.net/aijiudu/article/details/72353510 废话不说直接来一张图如下&#xff1a; 从JVM的角度看Map和Reduce Map阶段包括&#xff1a; 第一读数据&#xff1a;从HDFS读取数据 1、问题:读取数据产生多少个Mapper&#xff1f;&#xff1f; Mapper数据过大的话&…

爱因斯坦梦断“大统一理论”

来源&#xff1a;数学职业家爱因斯坦发表了他最为得意之作&#xff1a;广义相对论之后&#xff0c;便开始了他的“统一之梦”。大有“躲进小楼成一统&#xff0c;管他冬夏与春秋”之势&#xff0c;这一“统”就是三十余年&#xff0c;到死方休。尽管统一场论一词始于爱因斯坦&a…

js数组截取前5个_想用好 Node.js?这 5 个经典国产项目值得细品

凭借着高并发性能优秀、异步事件驱动、入门简单等优势&#xff0c;Node.js 受到了不少开发者们的青睐。但不得不承认的是&#xff0c;如果用不好 Node.js&#xff0c;它的坑就会非常多&#xff0c;为了帮助各位 Node.js 的开发者们更灵活地使用它&#xff0c;Gitee 为大家推荐以…

微博html天涯吴奇隆刘诗诗,吴奇隆深夜微博晒爱心,为刘诗诗庆生,网友:撒了一大把狗粮...

导语&#xff1a;吴奇隆深夜微博晒爱心&#xff0c;为刘诗诗庆生&#xff0c;网友&#xff1a;撒了一大把狗粮明星夫妻的甜蜜生活&#xff0c;总会让大家感到幸福浪漫。看到自己的偶像能够过得这么好&#xff0c;作为粉丝心里也是很美的&#xff0c;为偶像的幸福感到高兴。娱乐…

划重点!2020年,这些前沿技术最受关注

来源&#xff1a;科技日报大热的脑机接口、基因编辑等前沿技术发展如何&#xff1f;2020年科技界关注了哪些热点&#xff1f;22日在浦江创新论坛上发布的《全球前沿技术发展趋势报告》带来了答案。《全球前沿技术发展趋势报告》由中国科学技术信息研究所和上海市科学学研究所联…