Gradle - 将 JavaFX SDK 添加到类路径

Gradle - Add JavaFX SDK to classpath

我在 Eclipse 中使用 gradle,我的 gradle.build 非常基础(添加 java 插件,设置 repos 而不是更多)我正在构建一个 JavaFX 程序。我的所有代码都编译并且 运行 使用我的构建脚本正确地出现了 0 个错误。

令我恼火的是,当我将 JavaFX SDK 添加到我的构建路径库时,我可以看到我的项目已经列出了它。当我将我的项目与 Gradle 同步时,gradle 从我的类路径文件中删除了这个 SDK。

我需要在我的构建脚本中添加什么来阻止这种情况的发生,并且 gradle 通常将它注入我的 .classpath 就像它对我添加的任何其他东西所做的那样?

干杯,

P.S。我是 gradle 和 groovy 的新手,这是我第一次 'project' 使用它。除了这一点烦恼,一切都很顺利。

解决了这个问题:完全忘记了类路径与 eclipse 的关系而不是 java/gradle。

添加:

apply plugin: 'eclipse'

eclipse {
    classpath.containers 'org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER'
}

我的 gradle.build 文件解决了这个问题。

我实际上通过 https://groups.google.com/forum/#!topic/javafxports/Fn92C5ysC60 'android forum' 找到了一个解决方案,同时查找如何自动构建 eclipse。

如果有人对此进行了调查,那就干杯吧。


作为 side 注意,因为我首先对此感到困惑:JavaFX 项目与 Java 项目没有区别,您不需要指定事实上,您正在对 ide 使用 JavaFX 以便能够执行 JavaFX 代码。所以我很困惑为什么我的 IDE 有一个 'Start a new JavaFX project' 和 'Start a new Gradle Project' 但没有 JavaFX/Gradle 项目。

你没有 'need' JavaFX 插件,就像我的项目最初那样。

要解决您的问题,您需要 JavaFX-Gradle-plugin,这是一个在 Gradle 项目上启用 JavaFX 支持的插件。

这是插件的 link:https://github.com/FibreFoX/javafx-gradle-plugin,您可以在其中找到所有信息和示例...

您只需启动一个新的 Gradle 项目,然后将此代码添加到您的文件 build.gradle:

buildscript {
    dependencies {
        classpath group: 'de.dynamicfiles.projects.gradle.plugins', name: 'javafx-gradle-plugin', version: '8.8.2'
    }
    repositories {
        mavenLocal()
        mavenCentral()
    }
}
apply plugin: 'java'

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies{
    // put here your project dependencies
}

apply plugin: 'javafx-gradle-plugin'

// these values are the examples and defaults
// you won't need them all

// configure javafx-gradle-plugin
jfx {

    // minimal requirement for jfxJar-task
    mainClass = 'YOUR.MAIN.CLASS'

    // minimal requirement for jfxNative-task
    vendor = 'YOUR NAME OR COMPANY'

    // some optional task
    jfxAppOutputDir = 'build'
    jfxMainAppJarName = 'YOUR APPLICATION NAME.jar'
    manifestAttributes = [
        "Specification-Version": 1.0,
        "Implementation-Version": 1,
        "Built-By": "YOUR NAME OR COMPANY",
    ]
    // for a full list of available settings, look the class "JavaFXGradlePluginExtension" on plugin project
}

这是我发现的唯一一个与 Gradle 一起使用 JavaFX 的插件。 我正在使用 Eclipse 处理同样问题的项目,几天前我已经解决了它。

希望对您有所帮助,

BoGnY