【发布时间】:2020-12-29 17:35:41
【问题描述】:
我想在只有 OpenJDK8 的 macOS 上运行 JavaFX 应用程序:
- 我在互联网上搜索,我只找到了 Linux 的解决方案(使用 apt-get),
- 我无法升级到 OpenJDK>8,也无法切换到 Oracle 发行版(上下文限制)。
** 编辑 ** 问题是,如果我使用 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 8?
-
@dan1st JavaFX 部分似乎在 MacOS for OpenJDK 8 上缺失。
-
你是对的@dan1st(问题在我心里很清楚)。我已经编辑了问题。
标签: java macos gradle java-8 java-11