Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
JavaFX-Applikation als Maven-Projekt : JavaFX-Archetypen
Im Zuge der Ausführung des Kommandozeilenbefehls mvn archetype:generate wird eine Filterung angeboten. Ich habe als Filter javafx eingegeben; dabei werden Archetypen aus Maven Central Repository aufgelistet.
Kennt jemand andere nützliche Filter oder Repositories zur Auffindung von JavaFX-Archetypen?
Nur zur Ergänzung:
Das Github Repo is ein Template, in dem ich so die wichtigsten Dinge zusammen gestellt habe, die aus meiner Sich in ein Projekt gehören. Dort findet sich auch eine erste Dokumentation zu den einzelnen Elementen.
Ob man davon einen Clone erstellen möchte oder es nur als Quelle zum "klauen" (Maven ist super für ein Copy & Paste von Elementen) genommen wird, ist dabei egal.
Generell ist eine JavaFX auch nur eine normale Java Anwendung. Alles, was Du brauchst, sind die JavaFX Dependencies. Und dann vermultich noch der Workaround, dass die main Methode nicht in der Klasse ist, die von Application erbt. Und das war es dann schon.
Zur Weitergabe kommen dann so Themen wie: App Image per JPackage oder einfach nur ein großes fat jar?
Ein Maven Archetype halte ich für überflüssig und ich würde vermuten, dass da auch zu wenig gepflegt wird, da es zu wenig verwendet wird.
Die offizielle Anlaufstelle wäre aus meiner Sicht ansonsten das Getting Started: https://openjfx.io/openjfx-docs/
Zunächst möchte ich mich für die beiden Ratschläge bedanken.
Beim ersten Blick in das Template fand ich folgende Empfehlung: My current advice is to use a long term supported (LTS) version of either Java 17 or Java 21. Ich benutze aber java version "22.0.2". Da ich eine Anfängerin bin, möchte ich fragen, ob ich das Template ohne weiteres benutzen kann; wenn nicht, was muss ich tun?
LTS-Versionen von Java werden von Oracle tendenziell länger und besser gepflegt als Nicht-LTS-Versionen . Auf die Programmierung mit JavaFX dürfte das aber keine fundamentale Auswirkung haben.
Zunächst möchte ich mich für die beiden Ratschläge bedanken.
Beim ersten Blick in das Template fand ich folgende Empfehlung: My current advice is to use a long term supported (LTS) version of either Java 17 or Java 21. Ich benutze aber java version "22.0.2". Da ich eine Anfängerin bin, möchte ich fragen, ob ich das Template ohne weiteres benutzen kann; wenn nicht, was muss ich tun?
Ich habe die beiden Template Projekte nur bis Java 21 getestet. Das Problem sind die Maven Plugins, die ich teilweise verwende. Diese greifen auf die übersetzten Dinge zu um diese zu untersuchen oder weiter zu verwenden. Wenn Du Java 22 oder 23 verwendest, dann ist es möglich, dass die Plugins nicht mit der Version der class Files klar kommen, was dann zu Fehlermeldungen führt.
Das betrifft vor allem PMD (Eine statische Code-Analyse) aber ich hatte in der Vergangenheit auch schon mit JPackage meine Probleme.
Mit Java 21 bist du auf der sicheren Seite, aber was Du einfach machen kannst:
Lade das Template herunter
Setze in der pom die Java Version auf 22
rufe einfach folgende Befehle auf:
Java:
mvnw clean install site
mvnw -Pimage install
mvnw -Pfatjar install
Wenn alle drei Befehle ohne Fehler durchlaufen, dann sollte es kein Problem sein, mit Java 22 weiter zu arbeiten. Sollten aber Fehler auftreten, dann wäre es am einfachsten, erst einmal Java 21 zu nutzen:
Deinstalliere das Java 22
Installiere ein OpenJDK von Java 21. Ich greife selbst immer sehr gerne auf Adoptium zurück aber auch Azul ist nicht schlecht. Auf Linux ist bei den Distributionen in der Regel das openjdk direkt enthalten, was auch ok ist. Damit muss man sich keinerlei Gedanken zu der Lizensierung machen...
Die Alternative wäre, die Versionen anzupassen:
Maven Wrapper geht wohl noch auf 3.8.5 - da sollte es neuere Versionen geben
Das codehaus Plugin zeigt bei Depedencies und Plugins, was es da an neuen Versionen gibt.
Mit aktuellen Versionen wird Java 22 bestimmt auch funktionieren.
Ich werde schauen, dass ich die Tage die Zeit finde, die beidem Template Projekte von mir zu aktualisieren um dann auch die Java Versionen, mit denen es funktioniert, zu dokumentieren.
Lieber KonradN, diesmal vielen Dank für die Aktualisierung der Repository.
Welche Einstellungen am Anfang der pom.xml sind zu ändern?
Nur die 7. Zeile <groupId>de.kneitzel</groupId>
und die 20. Zeile <main.class>de.kneitzel.Main</main.class> ?
Oder noch was anderes?
Kann ich nach der Änderung die Komplette Übersetzung des Projekts incl. Dokumentation durch mvnw -Dimage clean install site
schon starten?