我正在尝试使用 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
}
但是我得到"Error:Could not find JavaFX Packager Tools, please set one of [jfxrtDir in Gradle Properties, JFXRT_HOME in System Environment, JAVA_HOME in System Environment, java.home in JVM properties]"
.我已经将Java设置为家,它不会改变任何东西。请帮助我。
最后我找到了问题和解决方案。为了编译这个项目,我使用Android Studio,默认情况下它捆绑了JDK。嵌入式JDK似乎不包含JavaFX,因此我将其更改为系统默认JDK。
- 查找默认的 Java 主页
- 对于 Mac:运行
/usr/libexec/java_home
- 对于 Mac:运行
- 将 Android Studio JDK 设置为该
- 转到项目结构>文件
- 点击开发工具包位置
- 取消选中使用嵌入式 JDK(推荐(
- 用系统默认的 Java 主页填充文本框,例如
/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
。
遗憾的是,此设置会影响所有项目,而不是特定(当前打开的(项目。