javafx - 找不到 JavaFX 打包工具

标签 javafx kotlin tornadofx

我正在尝试使用 Gradle 创建 JavaFX 项目。这是 build.gradle:

buildscript {
    ext.kotlin_version = '1.2.30'

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: "kotlin"
apply from: "http://dl.bintray.com/content/shemnon/javafx-gradle/8.1.1/javafx.plugin"

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    compile "org.jetbrains.kotlin:kotlin-reflect"
    testCompile "org.jetbrains.kotlin:kotlin-test"
    testCompile "org.jetbrains.kotlin:kotlin-test-junit"

    compile "no.tornado:tornadofx:1.7.15"
}

kotlin {
    experimental {
        coroutines 'enable'
    }
}

compileKotlin {
    kotlinOptions.jvmTarget = 1.8
}

但是我得到 “错误:找不到 JavaFX 打包工具,请设置 [Gradle 属性中的 jfxrtDir,系统环境中的 JFXRT_HOME,系统环境中的 JAVA_HOME,JVM 属性中的 java.home] 之一”。我已经设置了 Java 主页,它没有任何改变。请帮助我。

最佳答案

终于找到了问题所在和解决方案。为了编译这个项目,我使用默认捆绑了 JDK 的 Android Studio。嵌入式JDK好像不包含JavaFX,所以我把它改成系统默认的JDK。

  1. 找到默认的 Java 主页
    • 对于 Mac:运行 /usr/libexec/java_home
  2. 将 Android Studio JDK 设置为
    • 转到文件> 项目结构
    • 点击SDK 位置
    • 取消选中使用嵌入式 JDK(推荐)
    • 用系统默认的 Java 主页填充文本框,例如 /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home

不幸的是,此设置影响所有项目而不是特定(当前打开的)项目。

关于javafx - 找不到 JavaFX 打包工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49084170/

相关文章:

java - 你如何使用 gradle 的 `` exclude`` 来替换依赖项?

rest - 使用TornadoFX将 header 添加到HTTP POST/GET请求

css - 如何将节点样式(或 styleClass)绑定(bind)到属性?

JavaFx 与 TornadoFx

javafx-2 - JavaFX 中的内部框架

java fx 使用淡入淡出和时间轴过渡

java - 输入字符串 : "" 的 NumberFormatException

java - 根据 TableView javafx 的行而变化的按钮图标

Kotlin - 在为 setSpans() 声明开始、结束和标志时,为 SpannableStringBuilder 创建没有重复参数的自定义 ext 函数

Kotlin 高阶函数(可调用引用)编译器崩溃