2

我确实安装了 openjfx(通过 dnf),我相信它正在寻找的 jar 是安装在以下路径的那个:

/usr/lib/jvm/openjfx/lib/ant-javafx.jar

显然,我想避免像这样对 jar 路径进行硬编码,但我什至还没有找到使用该路径的方法。这是gradle输出:

$ gradle tasks

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'testproj'.
> Couldn't find Ant-JavaFX-library, please make sure you've installed some JDK which includes JavaFX (e.g. OracleJDK or OpenJDK and OpenJFX), and JAVA_HOME is set properly.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.9/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 0s

gradle --version

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/home/travis/opt/gradle/4.9/lib/groovy-all-2.4.12.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

------------------------------------------------------------
Gradle 4.9
------------------------------------------------------------

Build time:   2018-07-16 08:14:03 UTC
Revision:     efcf8c1cf533b03c70f394f270f46a174c738efc

Kotlin DSL:   0.18.4
Kotlin:       1.2.41
Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM:          10.0.2 ("Oracle Corporation" 10.0.2+13)
OS:           Linux 4.18.9-200.fc28.x86_64 amd64
4

1 回答 1

1

似乎没有一个好的答案,除了现在坚持使用 Java 8。

正如Some Guy在评论中提到的那样,一个新的 Gradle 插件可能会在某个时候取代这个插件,但作者FibreFoX 写道: “请尽可能使用当前状态的插件”。这似乎意味着被困在类路径上随 JavaFX 一起提供的旧版 Java 上。

顺便说一句,鉴于新的 java 依赖 DAG 系统,维护插件的问题可能与打包有关;8 是使用旧类路径系统的最后一个版本。

我很乐意找到更好的答案。

于 2018-12-11T05:03:06.020 回答