Gradle - 将JavaFX SDK添加到classpath

时间:2017-12-03 06:04:48

标签: java eclipse gradle javafx classpath

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

当我将JavaFX SDK添加到构建路径库时,我很生气,我可以看到我的项目列出了它。当我将项目与Gradle同步时,gradle会从我的类路径文件中删除此SDK。

我需要添加到构建脚本中以阻止这种情况发生,并且通常将其注入我的.classpath,就像我添加的其他内容一样吗?

干杯,

P.S。我非常擅长闲聊和时髦,这是我的第一个项目&#39;使用它。除了这一个烦恼之外,它一直很顺利。

2 个答案:

答案 0 :(得分:1)

解决了这个问题:完全忘记了classpath是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论坛'找到了解决方案,同时查找了如何自动构建eclipse。

如果有人调查此事,欢呼声。

作为旁注,我首先对此感到困惑:JavaFX项目与Java项目没什么不同,您不需要指定将JavaFX用于ide的事实,以便能够执行JavaFX码。所以我很困惑为什么我的IDE有一个'开始一个新的JavaFX项目'和'开始一个新的Gradle项目'但没有JavaFX / Gradle项目。

您不需要像我的项目最初那样的JavaFX插件。

答案 1 :(得分:0)

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

这是插件的链接: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