如何手动编译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丝滑流畅,开始写代码吧!

你可能感兴趣的:(如何手动编译Apple Silicon M1版本的JavaFX SceneBuilder)