2015-07-13 8 views
20

Ich versuche, eine relativ einfache JavaFX-Anwendung mit Gradle zu erstellen. Allerdings habe ich keine Ahnung, wie es geht.Erstellen einer JavaFX-Anwendung mit Gradle

Ich bin relativ neu zu Gradle, und für einfache (nicht-javafx) Projekt habe ich erfolgreich die Plugins java und application zum Erstellen und Verpacken von Bibliotheken und Befehlszeilenanwendungen verwendet.

Allerdings bin ich völlig fest, wenn es um JavaFX geht. Ich habe this article gelesen, die das Verwenden des JavaFX Steckplugins vorschlägt, jedoch konnte ich nur den Quellcode für dieses Plugin finden, aber keine Dokumentation, wie man es tatsächlich erhält und es benutzt (im Artikel wenden sie es einfach von einer entfernten URL an, aber das scheitert an meiner Maschine, sagt ich bin nicht autorisiert ...)

Irgendwelche Hinweise, wie man das richtig macht?

Antwort

14

Here's an example Gradle JavaFX build auf GitHub. Beachten Sie, dass according to Bintray die neueste Version des Plugins 8.1.1 ist, ersetzen Sie daher die '0.3.0' in der Plugin-URL durch '8.1.1', wenn Sie das Neueste wollen.

Nur um klar zu sein, ist dies eine sehr ungewöhnliche Möglichkeit, ein Gradle-Plugin zu verteilen. Die meisten sind viel einfacher in einen Build zu integrieren!

bearbeiten: up-to-date Gabel, die „Anwendung Plugin“ arbeitet mit https://github.com/FibreFoX/javafx-gradle-plugin

+0

mein Problem ist genau das: Anwendung von: „http: // dl. bintray.com/content/shemnon/javafx-gradle/0.3.0/javafx.plugin "Befehl funktioniert nicht, bintray gibt Fehler 401 (nicht autorisiert) zurück. Wie auch immer, ich löste es, indem ich das Plugin manuell aus der Quelle kompilierte und es lokal einfügte. –

+1

Bist du sicher? Dieser Link (abzüglich des nachfolgenden doppelten Zitats) erfordert keine Authentifizierung für mich. Der im ursprünglichen Artikel _does_ verwendete erfordert jedoch eine Authentifizierung. –

+0

Sie sind in der Tat richtig. Ich habe nachgeschaut und ein extra nachkommendes Zitat kopiert. Es funktioniert, danke. –

3

Peter Ledbrook-Lösung funktioniert, aber jemand will nur für den Fall eine Lösung, die auf externen bintray Links beruht nicht, ich eine gefunden, während eine Antwort abzuwarten:

1) Errichtet die JavaFX Plugin von Quelle
2) es in dem libs Verzeichnis des Projektes Put
3) es wie folgt angewandt:

buildscript { 
    repositories { 
     flatDir dirs: "../libs" 
    } 
    dependencies { 
     classpath "org.bitbucket.shemnon.javafxplugin:gradle-javafx-plugin:0.5.0-SNAPSHOT" 
     classpath files("${System.properties['java.home']}/../lib/ant-javafx.jar") 
    } 
} 

if (!project.plugins.findPlugin(org.bitbucket.shemnon.javafxplugin.JavaFXPlugin)) { 
    project.apply(plugin: org.bitbucket.shemnon.javafxplugin.JavaFXPlugin) 
} 

Beachten Sie, dass Ameisen javafx im Classpath einschließlich benötigt aufgrund eines Fehlers im Plugin selbst (wenn ich das richtig verstehe)

Verwandte Themen