我试图在Mac上安装JavaFX 15,但是卡住了。
运行MacOS Mojave 10.14.6
我已经安装了Java 13 JDK并设置了Home文件夹,并从https://gluonhq.com/products/javafx/下载了JavaFX SDK,我已经运行了代码“ export PATH_TO_FX = / Users /.../ javafx-sdk- 15 / lib”。
我正在使用IntelliJ进行编程,我试图在Project Structure-Libraries中设置路径
但是应用无法编译。
有人可以帮我吗?提前非常感谢!
答案 0 :(得分:1)
您需要注意将环境变量与macOS上的GUI应用程序混合使用。在终端中设置PATH_TO_FX可能未设置IntelliJ IDE的值。您会注意到,https://openjfx.io/openjfx-docs/#IDE-Intellij上的说明明确提到要在IDE中(而不是从终端)设置该值。
我强烈建议将Gradle或Maven与https://OpenJFX.io/处给出的代码样本一起用作起点。在调试IDE可能会做的不同之前,请先从命令行确认构建工作正常。
您还可以安装包含JavaFX模块的JDK。一些OpenJDK提供程序具有这样的构建。例如:
答案 1 :(得分:1)
DomQ 发布的第二条命令不正确:
brew tap bell-sw/liberica
brew install --cask liberica-jdk15-full
答案 2 :(得分:0)
我的经验是homebrew-liberica可以正常工作:
brew tap bell-sw/liberica
brew cask install liberica-jdk15-full
答案 3 :(得分:0)
从Gluon(或 Early-Access版本)下载the latest JavaFX。要编译*.java
文件,请确保在CLI上指定并设置--module-path
和-cp
作为javac
的命令参数。
对于example,如果您将JavaFX SDK下载到~/Downloads
目录(即,您下载了JavaFX 16并将其提取到普通的 Downloads 文件夹中),则您将运行类似
javac --module-path "$(eval echo ~$USER)/Downloads/javafx-sdk-16/lib/*" -cp "$(eval echo ~$USER)/Downloads/javafx-sdk-16/lib/*" -d . JavaFXThing.java
然后,为了运行程序,您将使用:
java --module-path "$(eval echo ~$USER)/Downloads/javafx-sdk-16/lib" --add-modules javafx.controls,javafx.fxml JavaFXThing
在此处检查需要为--add-modules
参数指定哪些模块:API documentation for JavaFX 15
对于JDK,我建议将AdoptOpenJDK与Homebrew一起使用,因为它很容易保持最新(是,Homebrew!?),并且Adopt会注意路径和环境变量。要在外壳中安装,请尝试:
brew cask install adoptopenjdk
然后更新
brew update && brew cask upgrade