2017-12-03 240 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