我想在只有OpenJDK8的macOS上运行JavaFX应用程序:
**编辑**
问题是,如果我使用OracleSDK8运行该应用程序,则可以正常运行。但是,如果我使用OpenJDK8运行它,则在包含JavaFX时会遇到问题。例如:
FilterEditor.java:6: error: package javafx.scene.input does not exist
import javafx.scene.input.KeyEvent;
我正在使用Gradle脚本jar {
if(JavaVersion.current() >= JavaVersion.VERSION_11){
apply plugin: 'org.openjfx.javafxplugin'
javafx {
version = "11"
modules = [ 'javafx.controls', 'javafx.fxml', 'javafx.swing' ]
}
}else if(JavaVersion.current() != JavaVersion.VERSION_1_8){
throw new GradleException("This build script must be run with java 8 or a java version >= 11")
}
destinationDir = projectDir
manifest.attributes 'Main-Class': project.mainClassName
baseName = 'XXX'
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
但是如果使用OpenJDK8失败。 最佳答案
有几个OpenJDK + JavaFX的提供者。例如。您可以从Azul下载:https://www.azul.com/downloads/zulu-community/?version=java-8-lts&os=macos&architecture=x86-64-bit&package=jdk-fx
不过,您应该尝试升级到Java / FX的最新版本。