如何手動編譯Apple Silicon M1版本的JavaFX SceneBuilder

用JavaFX寫GUI的朋友肯定少不了SceneBuilder這個神器,拖拖拽拽就能完成窗口布局。但是對於Mac M1的用戶來說, SceneBuilder 並沒有提供M1版本,官方的intel版本能用但是很卡,用起來很難受。下面我們來看看如何直接從源碼構造M1版本的SceneBuilder。

準備工作

首先我們要下載M1版本的Zulu OpenJDK 16, 用來編譯源碼,然後要去Gluon的官網下載M1版本的JavaFX SDK, 如下:
JavaFX Mac OS X AArch64 SDK:
https://gluonhq.com/products/javafx/#ea
最後去github上拉取SceneBuilder master分支的代碼:

git clone https://github.com/gluonhq/scenebuilder --depth=1

至此準備工作完成。

編譯運行

切換到sceneBuilder項目目錄,執行

mvn clean package -Dmaven.test.skip=true

編譯代碼,注意要提前將命令行環境中的JAVA切換成剛剛下載好的Zulu OpenJDK 16, 否則如果OpenJDK版本低於11的話會編譯失敗。
完成後需要安裝依賴到本地倉庫:

mvn install -Dmaven.test.skip=true

接下來就可以直接運行了:

java \
--module-path ${JavaFX SDK解壓後的目錄}/lib \
--add-modules javafx.web,javafx.fxml,javafx.swing,javafx.media \
--add-opens=javafx.fxml/javafx.fxml=ALL-UNNAMED \
-cp app/target/lib/${mvn package打出來的jar包} \
com.oracle.javafx.scenebuilder.app.SceneBuilderApp

你會發現SceneBuilder絲滑流暢,開始寫代碼吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章