記録一次JDK 11下運行JavaFX(IntelliJ IDEA的Maven項目下)
從JDK 11開始,JavaFX已經不包含在JDK裡,所以我們要運行JavaFX程式,會比之前的版本中運行要麻煩一些。為此我查閱了一下JavaFX社區的資料:https://openjfx.io/openjfx-docs/
第一步,在IntelliJ IDEA中新建一個Maven項目,archetype那选上"org.codehaus.mojo.archetypes:javafx":
GroupId處可以寫自己定義的包名,例如:org.myjfx;ArtifactId處也可寫自己喜歡的名字,例如hellofx:
如果彈出了窗口詢問是否啟用Maven的自動導入,建議選擇啟用。
項目構建完成以後,我們把pom.xml文件中的代碼替換成這個網站中的:https://github.com/openjfx/samples/blob/master/IDE/IntelliJ/Modular/Maven/hellofx/pom.xml
再把其中的<mainClass>(這裡是第14行)標籤中的內容修改為自己項目中的MainApp類的全限定名,這裡是org.myjfx.MainApp:
下方還有一個<mainClass>標籤(這裡是第58行),我們把內容修改為${mainClass}:
接著,我們再把項目編譯一遍,Windows系統下可以使用快捷建 Ctrl + F9(雖然社區文檔是讓我們點擊窗口右邊的Maven項目窗口,然後{項目名}->Plugins->compiler->compiler:compile,但我發現這樣的話是不會編譯resources文件夾下的內容的),編譯成功後會生成target文件夾:
此時只要雙擊exec:java即可運行JavaFX項目,並彈出相應的窗口:
如此,便成功地在JDK 11版本上執行了JavaFX程式。
但此時還不能通過點擊綠色的小三角形來運行項目,運行的話是會報錯的。這個時候我們要在main/java下新建一個module-info.java文件(注意是在java目錄下新建,不要新建在org.myjfx包裡了):
裡面的內容如下:
module HelloFX {requires javafx.fxml;requires javafx.controls;opens org.myjfx to javafx.fxml;exports org.myjfx;
}
此時再點擊三角形就能正常運行了:
本文結束!
記録一次JDK 11下運行JavaFX(IntelliJ IDEA的Maven項目下)相关推荐
- 腾讯 JDK 11 正式开源,高性能、太牛逼啦!
点击关注公众号,Java干货及时送达 大家好,我是基基. 今天,基基,跟大家分享一下,腾讯2021年开源的 JDK11 ,腾讯大数据JVM团队在Kona JDK11开源项目中,坚持了一贯的兼容性.可靠 ...
- Java JDK 11:现在可以使用所有新功能
为什么80%的码农都做不了架构师?>>> 删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能 目录 哪里可以下载JDK 11 Java 11 JDK中 ...
- java11模块化开发_【JDK 11】关于 Java 模块系统,看这一篇就够了
继 2014 年 3 月 Java 8 发布之后,时隔 4 年,2018 年 9 月,Java 11 如期发布,其间间隔了 Java 9 和 Java 10 两个非LTS(Long Term Supp ...
- jcmd_jcmd,大约JDK 11
jcmd NicolasFränkel最近在博客文章" 行业工具OpenJDK 11 "中发布了与OpenJDK 11一起提供的命令行工具的调查. 在那篇文章中,他简要总结了工具j ...
- openjdk和jdk_JDK 11:发行候选更新和OpenJDK JDK 11 LTS
openjdk和jdk JDK 11 计划于 2018年9月25日星期二发布,以实现全面可用性 .OpenJDK jdk-dev邮件列表上的Mark Reinhold消息于2018 年8月16日宣布& ...
- jdk8读取文件_用于从文件读取/写入文件的新JDK 11文件方法
jdk8读取文件 我之前的文章重点讨论了可能添加到JDK 11中的Files.isSameContent()方法. JDK-8201276 ["(fs)向文件添加方法以从文件读取字符串或向文 ...
- switch字符串jdk_应用新的JDK 11字符串方法
switch字符串jdk 在" 使用JDK 11的Java字符串上的新方法 "和" String#repeat即将加入Java? ",我讨论了JDK 11引入J ...
- destroy 方法_线程方法destroy()和stop(Throwable)在JDK 11中删除
destroy 方法 @DrDeprecator (Stuart Marks)在core-libs-dev OpenJDK邮件列表上的消息" RFR(s):8204243:remove Th ...
- jdk12源代码文件_在JDK 11中启动单文件源代码程序
jdk12源代码文件 JEP 330 –启动单文件源代码程序是即将发布的JDK 11(18.9)发行版中令人兴奋的功能之一. 此功能允许直接使用java解释器执行Java源代码. 源代码在内存中编译, ...
最新文章
- 【12】AngularJS 事件
- ubuntu16.04禁用触摸板
- angularAMD快速入门
- python图片解析库_python用来获得图片exif信息的库实例分析
- java中为什么设计包装类,Java 中为什么要设计包装类
- JavaSE——数组基础(创建格式、下标、获取长度、常见问题、多维数组)
- python3.7.4安装pip_python3.7下pip的安装教程
- c++ 静态类成员函数(static member function) vs 名字空间 (namespace)
- python列表初始化长度_在Python中预先初始化列表内容和长度的实现
- 《实施Cisco统一通信管理器(CIPT1)》一1.3 总结
- 通知!7月SCI/SSCI/EI目录已更新,大批中科院1-4区好刊,请查收!
- Spring中AOP及ReflectiveMethodInvocation逻辑简析
- 618当天,90%的程序员在干什么?
- 水仙花数n位c语言程序,水仙花数C语言的
- 【Latex学习】在IEEEtran模板中使用algorithm环境
- Linux那些事儿之我是U盘(16)冰冻三尺非一日之寒
- Axure8实现最常见的左侧动态导航
- PRD到底该怎么写?更全面的文档范例来了
- Android笔记总结
- 深入探索C语言struct的用法