2017-12-03 241 views
0

我使用的gradle Eclipse的,我gradle.build是非常基本的类路径(添加Java插件,将回购和不是很多更多)和我建立一个的JavaFX程序。我所有的代码编译和运行与我的构建脚本与0错误正确。摇篮 - 添加的JavaFX SDK

当我将JavaFX SDK添加到构建路径库时,我只是很烦恼,我可以看到我的项目已经列出。当我将我的项目与Gradle同步时,gradle会从我的类路径文件中删除此SDK。

我需要添加到我的构建脚本以阻止这种情况发生,并且gradle正常将它注入到我的.classpath中,就像我添加的其他任何东西一样?

干杯,

P.S.我对gradle和groovy真的很陌生,这是我的第一个“项目”。除了这个烦恼之外,它一直在顺利进行。

回答

0

解决了这个问题:完全忘记了类路径是用日食而不是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的构建。

欢呼如果有人看着这个。


作为一个方面说明,我很困惑这个第一:一个JavaFX项目是从Java项目没有什么不同,你不需要指定你使用JavaFX的事实,你的IDE中能够执行JavaFX代码。所以我很困惑为什么我的IDE有'开始一个新的JavaFX项目'和'开始一个新的Gradle项目',但没有JavaFX/Gradle项目。

您不需要像我的项目原来那样的JavaFX插件。

0

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

这是插件的链接:https://github.com/FibreFoX/javafx-gradle-plugin,在那里你可以找到所有相关信息和例子...

所有你需要的是开始一个新的摇篮的项目,然后添加到文件的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 
} 

这是我发现的使用JavaFX和Gradle的唯一插件。 我正在用Eclipse处理项目中的问题,并且几天前我已经解决了它。

希望这有助于,

BoGnY