JavaFX Bibliotheken modular einbinden

gottfried

Mitglied
Hallo
Es geht um ein Problem, wie es hier vor über einem Jahr schon einmal diskutiert wurde. Ein vorhandes, mit Netbeans, Ant und Java 8 gebautes JavaFX-Projekt mit openjdk11 und openjfx zum Laufen zu bringen. Ähnlich wie dort beschrieben:
https://www.java-forum.org/thema/ja...he-ivy-einbinden-java-11.190556/#post-1242215
bin auch ich soweit gekommen, dass es mit run in Netbeans lief, die .jar aber nicht zu starten ist:
Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen
Die im obigen Beitrag gefundene Lösung soll ja auf einem Bug beruhen, weshalb ich sie nicht nutzen wollte. Ich habe die verschiedenen Möglichkeiten auf
https://openjfx.io/openjfx-docs/
durchgelesen und einiges probiert, am Weitesten bin ich mit Modular from IDE gekommen. Die in das neu erstellte Projekt einzufügende Klasse habe ich so genannt, wie im alten Projekt, Netbeans geschlossen und alles (Controller, FXML-Files, CSS-File) dort eingefügt. Nach dem erneuten Öffnen sieht das Ganze schon ganz gut aus, es fehlen nur noch einige Bibliotheken (ApacheFOP, PostgreSQL-Treiber), die im alten Projekt als .jar eingebunden und im Ordner lib zu finden waren. Einen Ordner lib gibt es im Projektordner nicht, wie kann ich diese nun sauber einbinden und sicherstellen, dass sie bei Weitergabe des Projekts auch gefunden werden?
Danke und viele Grüße
 

KonradN

Super-Moderator
Mitarbeiter
Ich habe jetzt verstanden, dass Du das Projekt in Netbeans erstellt hast und da die Punkte, die da unter Modular from IDE aufgeführt wurden, verfolgt hast.

Da war in Punkt 2 doch das Hinzufügen der Libraries - da solltest Du auch die anderen Libraries hinzufügen können.

Generell würde ich hier aber auch erneut dazu raten, doch auf ein Projektmanagement-Tool wir Maven oder Gradle um zu steigen - alleine schon, damit man Einstellungen einfach über das Forum teilen kann.
 

gottfried

Mitglied
@KonradN
Danke für deine schnelle Reaktion. Du schreibst:
Da war in Punkt 2 doch das Hinzufügen der Libraries - da solltest Du auch die anderen Libraries hinzufügen können.
Genau, aber wo stelle ich sie bereit und zwar so, dass sie bei Weitergabe des fertigen Projekts auch verfügbar sind. In der Anleitung wird z.B. gesagt, die JavaFX SDK nach $HOME/Downloads herunterzuladen, zu entpacken und von da einzubinden. Das heißt doch, der Ordner javafx-sdk-17 muss dann auf einem anderen Rechner auch dort zu finden sein? Oder irre ich mich da?
Dein Hinweis zu Maven oder Gradle: Für ein neues Projekt ja, aber für das Vorhandene schien mir dieser Weg einfacher.
Gottfried
 

KonradN

Super-Moderator
Mitarbeiter
Ok, also zur Laufzeit - das kannst Du die natürlich auch irgendwo ablegen und dann einbinden.

Das ist aber alles viel zu komplex. Bis Java 8 war der übliche Weg, java Applikationen als jar File weiter zu geben. Aber das hat sich mit Java 9 geändert - da wird ein sogenanntes Image erstellt, d.h. es wird eine Verzeichnisstruktur gebaut in dem alles enthalten ist.

Ab Java 14 ist dann auch das Tool jpackage dazu gekommen und man kann ein Binary Image bauen oder einen Installer. Dann wird kein Startscript mehr ausgeführt sondern eine exe (Das hat diverse Vorteile).

Und diese Dinge lassen sich per Maven und Gradle relativ einfach konfigurieren und machen und Du musst Dich deutlich weniger mit diesem ganzen "Müll" herum schlagen. Zumal das eine Hölle ist, das dann auch noch bei Kunden zu unterstützen. Und so ein bestehendes Projekt ist oft gar nicht so schwer zu migrieren.
 

gottfried

Mitglied
Hallo
ich habe inzwischen einige Versuche gestartet, um lt. https://openjfx.io/openjfx-docs/ ein helloFX Projekt mit Maven oder Gradle zu erstellen, aber es gelingt mir nicht. Es beginnt schon damit, dass die Netbeans-Dialoge von Netbeans12.6 nicht mit den dort abgebildeten Dialogen übereinstinmmen und es endete an der Stelle, wo das neue Projekt gespeichert und geöffnet werden soll. Dort kommt eine Meldung, sinngemäß: das project unter /pfad/zu/hellofx konnte nicht gefunden/geöffnet werden. Der dann inaktive Dialog schließt sich auch nicht, ich muss Netbeans schließen.
wenn du es schaffst mit maven oder gradle, dann hast du gleich die modernen systeme auch gelernt
ist ein gut gemeinter Hinweis, aber in meinem Alter (77) nicht so einfach umzusetzen. Ich würde deshalb gern mit dem eingangs genannten Projekt weitermachen, was ja teilweise funktioniert und auf die oben gestellte Frage zurückkommen:
Wie kann ich die benötigten JARs fop.jar, postgresql.jar und xmlgraphics.jar einbinden? Die JavaFX Bibliothek ist global eingebunden, in den Projekt-Properties als Modul hinzugefügt und ist im Projekt unter Libraries sichtbar. Run innerhalb Netbeans funktioniert, zeigt meinen Anmelde-Dialog und bringt erst dann den erwartbaren Fehler, da ohne postgres-Treiber die Daten aus der DB nicht geladen werden können. Meine vielen Versuche, die fehlenden Bibliotheken einzubinden, gelangen nicht.
 

KonradN

Super-Moderator
Mitarbeiter
Nur zum Verständnis:
Das Problem ist das Einbinden zur Entwicklungszeit. Du entwickelst die Applikation, kannst diese aus Netbeans heraus aufrufen und das Problem existiert nur bei der Nutzung der jar Datei außerhalb von Netbeans?

Oder ist das Problem das Eibinden direkt in NetBeans, damit Du bei der Entwicklung auf diese Bibliotheken zugreifen kannst?
 

gottfried

Mitglied
Hallo KonradN
Das Problem tritt schon innerhalb Netbeans auf. Ich habe z.B. versucht, die betreffenden Bibliotheken im Dialog Project-Properties --> Libraries --> Modulepath + hinzuzufügen, das geschieht auch, aber danach sind sie trotzdem links im Baum nicht enthalten. Auch dann nicht, wenn ich sie an gleicher Stelle unter Classpath + einfüge. Die rot markierten import-Anweisungen bleiben.
 

gottfried

Mitglied
Hallo
In einem meiner Java-Bücher habe ich unter Migrationsszenarien den Hinweis gefunden, dass ein Hinzufügen bestehender JARS zum Modulepath nicht erfolgt, wenn diese Minuszeichen im Namen haben. Dort wird ein Umbenennen vorgeschlagen, das Minus durch einen Punkt zu ersetzen und so mit requires in die module-info.java einzutragen. Das habe ich getan und der letzter Stand ist:
Die fop.jar, postgresql.jar und xmlgraphics.jar sind eingebunden und unter Libraries im Projektbaum sichtbar.
Die rot markierten import-Anweisungen sind aber immer noch da und zeigen folgenden Hinweis:
package java.sql is not visible (package java.sql is declared in module.java, but module tsbstart does not read it)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
aze Autovervollständigung Bibliotheken AWT, Swing, JavaFX & SWT 2
C gute Grafik-Bibliotheken gesucht AWT, Swing, JavaFX & SWT 6
K JFrame modular aufrufen AWT, Swing, JavaFX & SWT 12
H JavaFX javafx-jdk einbinden AWT, Swing, JavaFX & SWT 5
G Ikonli in Fat-Jar mit mehreren Icon-Packs einbinden AWT, Swing, JavaFX & SWT 5
T Stylesheet einbinden AWT, Swing, JavaFX & SWT 1
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
rtm007 Videos in JavaFX einbinden AWT, Swing, JavaFX & SWT 1
dtr84 JavaFX/OpenJFX mittels Apache Ivy einbinden (Java 11) AWT, Swing, JavaFX & SWT 18
C Bilder so einbinden, dass sie sich ändern AWT, Swing, JavaFX & SWT 6
B Notepad++ in die eigene GUI einbinden AWT, Swing, JavaFX & SWT 7
R JavaFX lässt sich nicht in Eclipse einbinden AWT, Swing, JavaFX & SWT 4
MiMa Album Cover in GUI einbinden AWT, Swing, JavaFX & SWT 3
J JavaFX CSS einbinden - Wieso will das einfach nicht!!! AWT, Swing, JavaFX & SWT 1
G Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
D JavaFX Einbinden einer .fxml AWT, Swing, JavaFX & SWT 1
C 3D Grafikdateien in Java einbinden? AWT, Swing, JavaFX & SWT 9
Sanni94 JavaFX Kann man eine Grafik in einen Text einbinden? AWT, Swing, JavaFX & SWT 2
M Kamera in Java Swing einbinden AWT, Swing, JavaFX & SWT 4
T GrafikDatei .png in GUI einbinden AWT, Swing, JavaFX & SWT 10
T Applet Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 8
D SteelSeries in Netbeans als Drag-and-Drop einbinden AWT, Swing, JavaFX & SWT 0
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
M JavaFX - Bild in Jar einbinden, sodass es auch außerhalb der IDE geladen wird. AWT, Swing, JavaFX & SWT 2
B Windowbuilder - Icon für Button einbinden AWT, Swing, JavaFX & SWT 2
BRoll Frame- Video einbinden machbar? AWT, Swing, JavaFX & SWT 6
S klasse einbinden funktioniert nicht AWT, Swing, JavaFX & SWT 6
J Swing in JavaFX einbinden AWT, Swing, JavaFX & SWT 3
A (Youtube-) Video in Swing GUI einbinden AWT, Swing, JavaFX & SWT 13
S HTML in Java einbinden AWT, Swing, JavaFX & SWT 4
L JavaFX in Java Einbinden AWT, Swing, JavaFX & SWT 2
T Applet in JSP einbinden AWT, Swing, JavaFX & SWT 4
F Applet JApplet per html einbinden - Main class kann nicht gefunden werden AWT, Swing, JavaFX & SWT 15
J Bilder in ausführbare jar einbinden AWT, Swing, JavaFX & SWT 7
N 2D-Grafik Bild einbinden AWT, Swing, JavaFX & SWT 4
B JTree mit Ordneransicht in JPanel einbinden AWT, Swing, JavaFX & SWT 4
M Programm in Jframe "einbinden" AWT, Swing, JavaFX & SWT 7
C SWT probleme beim einbinden von Images AWT, Swing, JavaFX & SWT 2
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
A Videosignal in Java einbinden AWT, Swing, JavaFX & SWT 4
F fertige JApplets in Desktop Application einbinden AWT, Swing, JavaFX & SWT 4
M Browser in Programm einbinden AWT, Swing, JavaFX & SWT 4
L Applet In HTML einbinden klappt einfach nicht AWT, Swing, JavaFX & SWT 5
W LayoutManager Clientfenster ins Design einbinden AWT, Swing, JavaFX & SWT 13
D Applet Methode in Timer einbinden AWT, Swing, JavaFX & SWT 6
E Swing JMenu in GUI einbinden AWT, Swing, JavaFX & SWT 5
D Applet Applet das auf fremden Libraries basiert einbinden? AWT, Swing, JavaFX & SWT 20
X Resourcen in Projekt einbinden AWT, Swing, JavaFX & SWT 7
V Applet .JAR in Browser einbinden AWT, Swing, JavaFX & SWT 2
F Swing JEditorPane Bild mittig einbinden AWT, Swing, JavaFX & SWT 5
S Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 6
M JFrame in JApplet einbinden AWT, Swing, JavaFX & SWT 13
L JavaFX in Java Applikation einbinden AWT, Swing, JavaFX & SWT 2
J Flash.swf in JFrame einbinden AWT, Swing, JavaFX & SWT 7
F JLabel mittles Schleife einbinden?? AWT, Swing, JavaFX & SWT 3
B Button einbinden AWT, Swing, JavaFX & SWT 4
B Buttons in Toolbar einbinden AWT, Swing, JavaFX & SWT 6
K Website in Java Programm einbinden AWT, Swing, JavaFX & SWT 3
R Einbinden von Properties für Swing (Beschriftungen etc.) AWT, Swing, JavaFX & SWT 2
W Webseite in JPanel einbinden AWT, Swing, JavaFX & SWT 3
T SWT Wie Bilder aus JAR-Dateien einbinden? AWT, Swing, JavaFX & SWT 12
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
H Swing Netbeans Panel einbinden AWT, Swing, JavaFX & SWT 5
T [SWT] Externe Programmfenster einbinden AWT, Swing, JavaFX & SWT 2
M Fremdes Fenster einbinden AWT, Swing, JavaFX & SWT 2
B view in andere View einbinden AWT, Swing, JavaFX & SWT 5
Ernesto95 Programmabsturz beim Einbinden eines JMenu AWT, Swing, JavaFX & SWT 18
G 2 Ordner namens org einbinden müssen AWT, Swing, JavaFX & SWT 18
B In eine Konsolenanwendung ein Interface einbinden AWT, Swing, JavaFX & SWT 5
M Browser in Swing App einbinden AWT, Swing, JavaFX & SWT 2
Y Einbinden von Werten in ein Diagramm AWT, Swing, JavaFX & SWT 6
G Klasse in Klasse einbinden und ausführen! AWT, Swing, JavaFX & SWT 5
P Textfeld einbinden AWT, Swing, JavaFX & SWT 4
G C++ Programm in Java-GUI einbinden? AWT, Swing, JavaFX & SWT 8
M probs mit einbinden von bildern AWT, Swing, JavaFX & SWT 7
G Problem mit dem Einbinden von bildern AWT, Swing, JavaFX & SWT 10
M Flash-Movie in JAVA einbinden? AWT, Swing, JavaFX & SWT 3
B PNG-Icons in Toolbar einbinden AWT, Swing, JavaFX & SWT 3
G Grafik in Button einbinden AWT, Swing, JavaFX & SWT 3
M Musik einbinden und abspielen AWT, Swing, JavaFX & SWT 4
B Probleme mit *.gif Einbinden AWT, Swing, JavaFX & SWT 8
G Spiel frage zu bilder in java einbinden AWT, Swing, JavaFX & SWT 3
U suchverfahren vergleich einbinden von panels ? in applet ;) AWT, Swing, JavaFX & SWT 11
C ".tif" Image in Java einbinden und malen lassen AWT, Swing, JavaFX & SWT 7
M Brauche Hilfe zum Einbinden von eigener Schrfitart AWT, Swing, JavaFX & SWT 3
B Eine Vektorgrafik in Swing einbinden AWT, Swing, JavaFX & SWT 2
C wysiwyg Editor zum Einbinden in meinem Code AWT, Swing, JavaFX & SWT 14
H in Frame einbinden HILFE AWT, Swing, JavaFX & SWT 2
A JAI in GUI einbinden AWT, Swing, JavaFX & SWT 5
D [JList]Checkbox einbinden ? AWT, Swing, JavaFX & SWT 3
U externes .jar file einbinden [jdic] AWT, Swing, JavaFX & SWT 16
M FlowLayout in BorderLayout einbinden? AWT, Swing, JavaFX & SWT 6
T DirectX einbinden AWT, Swing, JavaFX & SWT 2
L-ectron-X Kann man dieses Look & Feel einbinden? AWT, Swing, JavaFX & SWT 7
G ConsolenFenster in Applikation einbinden? AWT, Swing, JavaFX & SWT 2
F DRINGEND! Bild in ein anderes Bild einbinden. AWT, Swing, JavaFX & SWT 9
K GUI einbinden AWT, Swing, JavaFX & SWT 6
P JTable: Exceldatei in JTable einbinden AWT, Swing, JavaFX & SWT 2
M Uhr in Programm einbinden? AWT, Swing, JavaFX & SWT 10
G Mediaplayer oder ähnliches in Java-Applikation einbinden AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben