Хочу создать gradle проект для JavaFX11.
Я уже могу создавать и запускать проект Java FX11, используя пути сборки и аргументы виртуальной машины.Это был только обходной путь, потому что Gradle не смог скомпилировать JavaFX из-за ошибки версии выполнения:
java.lang.UnsupportedClassVersionError: org/openjfx/gradle/JavaFXPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
org/openjfx/gradle/JavaFXPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
Версия Eclipse: 2019-03
Версия Gradle: 5.2.1
ОС:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Я уже исправил все, что могло быть причиной: Настройка Eclipse:
Уровень соответствия компилятора -> 11 Установлено JRE: jdk-11.0.2
Ubuntu Java Setup:
java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
Gradle:
------------------------------------------------------------
Gradle 5.2.1
------------------------------------------------------------
Build time: 2019-02-08 19:00:10 UTC
Revision: f02764e074c32ee8851a4e1877dd1fea8ffb7183
Kotlin DSL: 1.1.3
Kotlin: 1.3.20
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.2 (Oracle Corporation 11.0.2+9-LTS)
OS: Linux 4.15.0-47-generic amd64
Это мой build.gradle:
plugins {
id 'java'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.7'
}
def currentOS = org.gradle.internal.os.OperatingSystem.current()
def platform
if (currentOS.isWindows()) {
platform = 'win'
} else if (currentOS.isLinux()) {
platform = 'linux'
} else if (currentOS.isMacOsX()) {
platform = 'mac'
}
dependencies {
implementation 'com.google.guava:guava:23.0'
testImplementation 'junit:junit:4.12'
}
repositories {
jcenter()
mavenCentral()
}
javafx {
moduless = ['javafx.controls','javafx.fxml']
version ='11.0.2'
}
mainClassName = 'de.dom.main.MainApp'
EDIT GRADLE WRAPPER
gradle.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
org.gradle.java.home=/usr/lib/jvm/jdk-11.0.2
РЕДАКТИРОВАТЬ ДЛЯ PROMLEM FIX
создать в корне проекта gradle.properties, который содержит:
org.gradle.java.home=/usr/lib/jvm/jdk-11.0.2