Hallo,
Wenn ich in intellij eine jar von einem javafx Projekt erstelle, funktioniert diese nicht. Fehlermeldung: kein Hauptmanifestattribut, in jatest.jar.
Bei einem mormalem Projekt funktioniert alles.
Ich hab folgendes gemacht:
1. Eine extra main Klasse angelegt.
2. In projektstsucture -artifacts-+-jar-from m...- main eingegen- ok.
3. Die fx Dateien ausm bin Verzeichnis eingelesen.ok.
4. Build artifacts
Kontrolliert hab ich die Manifest Datei. Die main steht drin.
Ich hab den Pfad der Manifest in projektstructure überprüft.ok.
Also seit java 9 ist der vorgesehene Wert, dass man nicht mehr jar Dateien weiter gibt. Statt dessen wird eine Applikation in einem Image gebaut.
So Du Java 14 oder später verwendest, kannst Du auch mit JPackage ein App-Image bauen, bei dem Du kein Script startest sondern ein Binary hast.
Ein Beispiel, wie sowas aussehen kann, findest Du z.B. in https://github.com/kneitzel/JavaFXMavenApp - das wäre ein POM Projekt das einiges bietet u.a. auch statische Codeanalyse und so.
windows 7 ist auch tod und manche leute nehmen es noch her
javafx ist gut und wird noch entwickelt.. klar es kommt nicht mehr viel dazu aber was will man schon großartig noch hinzufügen .. den 12ten Button?
tornadofx also javafx für kotlin wurde auch gebaut und wird benutzt
java desktop ist nicht das beste auf der Welt aber es gibt auch schlechteres
Also ich wollte nicht eine mega Diskussion vom Zaun brechen.
Ich hab bwl studiert. Bis vor ein paar Wochen hatte ich noch nie etwas programmiert.Ich beschäftige mich erst seit ein paar Wochen mit java. Habe 2 Bücher gelesen und gedacht ich versuche mal etwas selber zu erstellen.
Habe mir intellij und java version 18.0.2.1 runter geladen und ein TicTacToe Spiel mit gui erstellt. Frühere Versionen kenne ich gar nicht.Und überraschenderweise hatte ich keine Probleme. Es sieht super aus und funktioniert großartig. Und es ging auch super schnell. Ich hab das mit dem scene builder gemacht. Hier wird immer von maven oder gredle gesprochen. Ehrlich gesagt weiß ich gar nicht was das ist. Wenn ich in intellij ein fxprojekt erstelle kann ich zwischen den beiden wählen. Ich hab immer maven markiert gelassen. Ob ich da jetzt irgend ein totes Perd verwendet hab, weiß ich nicht. Aber es hat super funktioniert. Grins.
Leider musste ich feststellen, dass ich keine Ahnung hab wie ich jetzt eine ausführbare Datei draus mache. Davon steht in den Büchern nix. Und schließlich will man das ja auch an Freunde schicken um ein bißchen angeben. Grins. Mein erstes java Projekt. Also hab ich gegoogelt. Die Antwort: ein jar draus machen und dann mit einem wrapper die jre einfügen und eine exe draus machen. Das hat nicht funktioniert. Aber ich werde mal das Projekt ansehen, von KonradN. Und zum jpackage googeln. Vielleicht finde ich ein Tutorial das mir hilft.
Ich glaube dass ich java Eigentlich gut verstanden hab. War schon richtig Stolz auf mich. Wäre jetzt schade wenn es daran scheitern würde, dass ich keine exe Datei draus machen kann...
So. jetzt muss ich aber erst mal arbeiten. Vielleicht starte ich morgen nochmal einen Versuch...
das problem an der javafx exe ist dass intellij ein ant modul hernimmt als "Standard" und das gibts nicht mehr
deswegen musst du dich selber drum kümmern wie zb mit images und jpackage wie es konrad beschrieben hat
und javafx ist nicht schlecht, es ist gut so wie es ist.. javafx hat auch probleme natürlich aber die sind eher auf dem "ach neee warum dennnn oracleee warum machst du denn sowasssss"
javafx wird auch aktiv genutzt wie zb : tornadofx, vorallem in deutschen behörden ( weil sich nie was dran ändert ), FXGL ( game engine )
Das ist super, dann hast Du bereits ein Maven Projekt und da es minimale Einstellungen hat, ist es kein Problem, da dann die übrigen Dinge zu konfigurieren. Da alles in einer Textdatei ist, ist es kein Thema, das anzupassen.
Wobei es einfacher sein dürfte, einfach das Projekt zu nehmen, das ich verlinkt habe und da Deine Sourcen hinein zu kopieren um dann die pom (minimal) anzupassen.
Aber die wichtigen Elemente kannst Du auch aus der POM übernehmen und dabei anpassen.
Und "Totes Pferd" ist etwas übertrieben, aber Java wird weniger auf dem Desktop eingesetzt. Die Stärken von Java sind vor allem im Backend und im Frontend kommen mehr Technologien wie HTML, CSS und JavaScript mit Frameworks wie Angular, React oder ähnlichem ....
Daher lass Dich nicht verunsichern - wenn Du nur für Dich etwas programmieren willst, dann ist das auf jeden Fall ok.
Error:Java FX Packager: Can't build artifact – fx:deploy is not available in this JDK
The fx:deploy task was a part of the Ant plugin that was formerly distributed in ant-javafx.jar as a part of Java Packager. The Ant plugin is not included in jpackage in the current JDK versions.
If you're using a JDK build of version 9 and later, use third-party solutions for packaging. For example, refer to section Runtime images in the JavaFX official documentation.
I have a JavaFX project that I would like to build as a Jar-file. However, when I attempt to do so, I get an error. Error:Java FX Packager: Can't build artifact - fx:deploy is not available in thi...
stackoverflow.com
das ist was intellij als "Standard" gesetzt hat wenn man auf export drückt, das geht halt nur bis java 8.. ab dann muss man das wie du machen
Leute, ich hab es hinbekommen!!!! Hab KonradN's Projekt angesehen ein paar Anpassungen gemacht. Die selbe Struktur nehme ich jetzt immer her.
Dann hab ich diese mods von javafx geladen. Ich musste auch noch eine Software namens WiX runtergehen. Was auch immer das ist. Hab im terminal die JPackage Befehle (wie in einem Tutorial gesehen) eingegeben. Und schon hatte ich die Installationsdatei. Für die Zukunft habe ich mir eine txt datei gemacht in der die jpackage Befehle stehen. So dass ich diese nur noch abändern brauche und kopieren kann.
WIX = Windows Installer XML - das ist ein Toolset um MSI Dateien zu erstellen. Sprich: Du wolltest kein APP-Image sondern direkt ein MSI (Installer Package). Dieses wird durch dieses Toolset von Microsoft erzeugt.
Ah, jetzt verstehe ich. Nun ja, ich dachte auch das da eine App Image rauskommt. Am Ende war es die Installationsdatei. Aber ist doch super. Alles ok. Man klickt kurz drauf und wird alles installiert... grins