idea中二级包为什么创建不了_IDEA通过Maven打包JavaFX工程(OpenJFX11)
1 概述
最近研究JFX,寫出來了但是打包不了,這。。。尷尬。。。 IDEA的文檔說只支持Java8打成jar包:
嘗試過直接使用Maven插件的package,不行,也嘗試過Build Artifacts,也不行,各種奇奇怪怪的問題。包括下圖中的
Error....fx:deploy is not available in this JDK不過幸好文檔末尾提到可以使用一些第三方工具:
因此記錄一下使用IDEA打包JFX11工程的過程。
2 環(huán)境
- IDEA 2020.1
- OpenJDK 11
- OpenJFX 11
只需安裝IDEA與JDK即可,JFX可以在pom.xml中引入。
3 創(chuàng)建工程
選擇Maven,選擇Create from archetype,然后Add Archetype并填上GroupId:
org.openjfx與ArtifactId:
javafx-maven-archetypes還有version:
0.0.1下一步自定義,這里為了方便就直接默認(rèn)了。
然后修改archetypeArtifactId為
javafx-archetype-fxml完成即可。
4 檢查文件
Maven同步完后,檢查項(xiàng)目目錄下的module-info.java與pom.xml,其中pom.xml不應(yīng)該是下圖這樣的:
而應(yīng)該是這樣的,包含了javafx.controls與javafx.fxml依賴,還有javafx-maven-plugin插件:
同時(shí)src下的module-info.java應(yīng)該長這樣:
module-info.java包含了所需要的javafx.controls與javafx.fxml這兩個(gè)模塊。
5 修改插件依賴
默認(rèn)的javafx-maven-plugin版本應(yīng)該為0.0.1:
整個(gè)去掉,修改為:
<plugin>其中l(wèi)auncher為可執(zhí)行文件名,jlinkImageName為Image輸出目錄名,jlinkZipName為zip文件名,mainClass為主類。
6 運(yùn)行并打包
從右側(cè)欄的Maven通過javafx插件運(yùn)行并打包:
7 測試
根據(jù)修改插件時(shí)的目錄,進(jìn)入對(duì)應(yīng)的target下的子目錄直接運(yùn)行即可:
項(xiàng)目目錄/target/output/bin/launcher注意這個(gè)是跨平臺(tái)的,只需具備JDK11環(huán)境即可,發(fā)布只需要把zip文件發(fā)布。
8 demo
github?github.com碼云?gitee.com9 擴(kuò)展閱讀
這篇文章是OpenJFX的文檔,主要介紹了:
- 通過三種方式(JFX+Maven+Gradle)運(yùn)行Hello World
- 構(gòu)建運(yùn)行鏡像(CLI+Maven+Gradle+自定義鏡像)
- IntelliJ/NetBeans/Eclipse通過三種方式(IDE自身+Maven+Gradle)運(yùn)行與打包JFX
總結(jié)
以上是生活随笔為你收集整理的idea中二级包为什么创建不了_IDEA通过Maven打包JavaFX工程(OpenJFX11)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql部署策略_MySQL延迟问题和
- 下一篇: linux定时器错误使用,linux下定