我想在只有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 + JavaFX的提供者。例如。您可以从Azul下载:https://www.azul.com/downloads/zulu-community/?version=java-8-lts&os=macos&architecture=x86-64-bit&package=jdk-fx
    不过,您应该尝试升级到Java / FX的最新版本。

    10-02 07:30