简体   繁体   English

MacOS 上的 OpenJDK8 和 JavaFX

[英]OpenJDK8 and JavaFX on MacOS

I would like to run a JavaFX application on macOS that has only OpenJDK8:我想在只有 OpenJDK8 的 macOS 上运行 JavaFX 应用程序:

  • I searched on the internet and I only found solutions for Linux (with apt-get),我在互联网上搜索,我只找到了 Linux 的解决方案(使用 apt-get),
  • I cannot upgrade to OpenJDK>8 and I cannot switch to Oracle distributions (context constraints).我无法升级到 OpenJDK>8,也无法切换到 Oracle 发行版(上下文约束)。

** Edit ** The problem is that if I run the application with OracleSDK8 it works perfectly fine. ** 编辑 ** 问题是,如果我使用 OracleSDK8 运行该应用程序,它就可以正常工作。 But if I run it with OpenJDK8 I have problems when including JavaFX.但是如果我用 OpenJDK8 运行它,我在包含 JavaFX 时会遇到问题。 For example:例如:

FilterEditor.java:6: error: package javafx.scene.input does not exist
import javafx.scene.input.KeyEvent;

I'm using a Gradle script我正在使用 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) }
  }
}

But if fails if I use OpenJDK8.但是如果我使用 OpenJDK8 失败。

There are several providers of OpenJDK + JavaFX. OpenJDK + JavaFX 有几个提供者。 Eg you can download that from Azul: https://www.azul.com/downloads/zulu-community/?version=java-8-lts&os=macos&architecture=x86-64-bit&package=jdk-fx例如,您可以从 Azul 下载: https : //www.azul.com/downloads/zulu-community/? version = java-8-lts & os = macos & architecture = x86-64-bit & package = jdk- fx

Nevertheless you should try to upgrade to a more recent version of Java/FX.不过,您应该尝试升级到更新版本的 Java/FX。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM