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.
ich habe einen etwas anspruchsvolleren Passwort Manager programmiert.
Er besteht aus 5 Java Dateien, einer Bilddatei und zwei Textdateien.
Die Main Datei beinhaltet einen JavaFx Thread. Eine der anderen Dateien sind in einem kontinuierlich laufenden anderen Thread.
Alles läuft perfekt, wenn ich es unter Eclipse ausführe.
Das ganze wurde mit einer neueren Version von Eclipse realisiert.
Das Problem: Die Umwandlung von einer JAR Datei in eine EXE Datei für Windows.
Ich habe die Tools "Launch4j" und "Jar2Exe"- Testversion ausprobiert. Bei ersterem lässt sich die erzeugte Exe Datei nicht öffnen, nach einem Doppelclick kommt kurz der Warte-Cursor, sonst passiert nichts. Bei letzterem Tool erscheint die Meldung: "The main startup class could not be found." Dabei habe ich eine Main Datei unter "Export" in Eclipse angegeben.
Irgendwo bei der Erzeugung der JAR Datei unter Eclipse läuft möglicherweise etwas schief.
Vielen Dank für eure Hilfe und Grüße aus Stuttgart.
Eine bescheidene Frage: was ist der zwingende Grund für die Umwandlung in eine exe? Ist auf dem Zielrechner keine JRE verfügbar? Oder geht es dir einfach um die prinzipielle Machbarkeit?
Würde ich unbedingt für WIN eine .exe erstellen wollen, würde ich persönlich statt Java eher C/C++, Delphi/Lazarus/Pascal oder was auch immer in Erwägung ziehen.
Funktioniert die Jar Datei überhaupt? (java -jar deineJar.jar)?
Generell sowas nie mit "Doppelklick" testen sondern immer auf der Konsole, damit man etwaige Fehlermeldungen sieht. Meine Vermutung ist, dass das Laden der Bild/Text-Dateien nicht funktioniert, weil die als File und nicht als Resource geladen werden.
Eine bescheidene Frage: was ist der zwingende Grund für die Umwandlung in eine exe? Ist auf dem Zielrechner keine JRE verfügbar? Oder geht es dir einfach um die prinzipielle Machbarkeit?
Würde ich unbedingt für WIN eine .exe erstellen wollen, würde ich persönlich statt Java eher C/C++, Delphi/Lazarus/Pascal oder was auch immer in Erwägung ziehen.
Die Dateien werden im Code als File Objekte behandelt. Die Dateien sind zugleich auswählbar bei der JAR Erstellung, was meinst Du jetzt genau?
Zu erwähnen ist vielleicht, dass er kontinuierlich Ausgaben für die Eclipse Konsole erzeugt und mit einer Dialogmessage beginnt- nach "OK" startet das eigentliche Programm.
Leider hat sich mein Problem noch nicht aufgelöst...
du wirst in "missing running components" rein laufen
was halt "gegeben sein muss" dass ich dir helfen kann ist
du brauchst maven... hast du dies nicht oder gradle kann ich dir nicht helfen
du brauchst einen pc wo java und maven installiert ist + die entsprechende pom ( da kann man die exe ausspucken lassen)
das was ich bneutze ist das jpackage => dies wirft auf basis des aktuellen betriebssystems einen passenden installer aus, dh wenn du das programm dann auf windows mit java startest ist das ergebnis dein programm in eine exe rein gepackt, diese exe ekannst du dann installieren und ausführen wie ein windows programm
ich bin aber erst so um 6:00 zushause an meinem stand pc da kann ich erst nachschauen
Die Main Datei beinhaltet einen JavaFx Thread. Eine der anderen Dateien sind in einem kontinuierlich laufenden anderen Thread.
das hört sich seeehr dubios an... warum hast du keine javafx tasks/ services benutzt ?
dies sind threads mit denen javafx parallel zum fx thread umgehen kann
zusätzlich
wenn das eine eine main hat und das andere auch sind das zwei probleme
1. das eine sollte wahrscheinlich ein server artiges sein ? => muss auf konsole / gui startbar und ausschcaltbar sein
2. deine javafx anwendung => msus installierbar sein und ausführbar per mausklick
du hast ein XY problem dh du hast nicht das problem geschildert sondern die lösung die du probiert hast für dein problem
I have not been able to successfully find a working solution on how to configure Maven to build an EXE from JavaFX with Maven. Projects set up with E(fx)clipse using the build.fxbuild work great,
Die Dateien werden im Code als File Objekte behandelt. Die Dateien sind zugleich auswählbar bei der JAR Erstellung, was meinst Du jetzt genau?
Zu erwähnen ist vielleicht, dass er kontinuierlich Ausgaben für die Eclipse Konsole erzeugt und mit einer Dialogmessage beginnt- nach "OK" startet das eigentliche Programm.
Wenn du Dateien in ein Jar packst, kannst du auf die nicht mehr als File zugreifen. Sprich, dein Programm wird vermutlich FileNotFound oder ähnliche Exceptions werfen und nicht mehr funktionieren.
launch4j funktioniert schon ... aber man muss halt bei allen diesen Programmen die Einstellungen richtig gemacht haben, von allein wird der Computer nicht erraten können, was du eigentlich willst.
Entweder muss das Manifest der auszuführenden Jar alle Informationen beinhalten oder man gibt z.B. Classpath und auszuführenden Klassennamen manuell an.
Wie oben schon richtig angemerkt: probier das Ganze erst mal über die Kommandozeil / eine Batch-Datei.
Sobald es dann funktioniert, konfigurier den Exe-Builder entsprechend,
Hallo liebes Forum.
Ich bin in Sachen Java noch Anfänger und habe davor nur mit Delphi gearbeitet. Hier waren ein paar interessante Lösungsansätze, aber ich komme nicht weiter. Daher bitte ich um eine helfende Hand und bin auch bereit dafür zu bezahlen. Mein Budget ist 50 Euro für eine funktionierende Exe Datei inklusive einer Lösungsanleitung.
Ich könnte die entsprechenden Dateien zunächst über OneDrive zur Verfügung stellen.
Vielen Dank für euer Interesse.
Meine Geschäftsemail: ceo@onelot.com
Also wenn das Projekt so klein ist, dann sollte es sich einfach auf Maven und Java 17 umstellen lassen. Dann wäre es einfach, da per jpackage ein fertiges Produkt zu bekommen. Ist dann immer noch eine Verzeichnisstruktur aber es wird eine exe gestartet und auf dem Zielsystem gibt es keine Abhängigkeiten bezüglich installiertem Java.
Hab dir auch eine PM geschrieben - den das Geld kannst du dir sparen ....
Das Problem ist, dass JavaFX gewisse Anforderungen mit sich bringt und nicht ganz unproblematisch ist. Daher ist es eben nicht so einfach damit getan.
Das, was Du da vermutlich als "einfachste" Lösung ansiehst ist ab Java 9 nicht mehr der bevorzugte Weg und ich würde davon klar abraten (Wie auch so bisher jeder hier). @Staarfightaar hat eine maven Datei gezeigt, mit der Du mit Hilfe des openjfx Plugins ein Image bauen kannst. Falls Du Abhängigkeiten hast, die noch keine saubere Moduldefinistion haben, dann ist Moditectt die bevorzugte Lösung. Da würde die pom Datei so aussehen können:
Das POM enthält noch einiges an Goodies wie Ausführen von Unit Tests, Prüfen ob neue versionen zur Verfügung stehen, statische codeanalyse mit PMD, Lombok ist eingebunden .... das kann man gerne alles rausschmeissen wenn man es nicht will ...
Wichtig: Am Anfang und im Properties Block sind Werte anzupassen an Dein Projekt!
Mittels eines mvn clean package solltest Du dann alles übersetzen und dann neben dem jlink Image auch noch mittels jpackage ein app-image erhalten.