Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen

Hein_nieH

Bekanntes Mitglied
Hallo,

ich wollte heute erste Gehversuche mit JavaFX machen.
hierzu habe ich die JavaFX-Bibliothek über Maven geladen. (Build: javafx:run)

Der automatische Download der Javafx Komponenten (jar) hat auch gut funktioniert.

Wenn ich jedoch Meine erstes Testprogramm starten möchte erhalte ich in eclipse nachstehende Meldung:
Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen

Ich habe fast alles mögliche probiert, auch in Google so fast alles mir angesehen, trotzdem bekomme ich mein
simples Testprogramm nicht zum Laufen.
Was mache ich falsch?????
Vielleicht kann mir jemand den entscheidenden Hinweis geben ....

Gruss Hein_nieH

Hier noch einige Parameter:
Meine MainClass heisst: JavaFX_Window
Sie befindet sich im Paket: testen

Betriebssystem Windows 10
Java SDK : Java 11 (jdk-11.0.9+11)
JavaFX-Controls version 12.0.2
Javafx-Maven-plugin Version 0.0.3

Die pom.xml sieht so aus:

XML:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>

    <groupId>com.javacodegeeks</groupId>
    <artifactId>MyJavaFX</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>MyJavaFX</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
 
    <dependencies>
          <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>12.0.2</version>
          </dependency>
      </dependencies>

  <build> 
    <plugins>
        <plugin>
            <groupId>org.openjfx</groupId>
              <artifactId>javafx-maven-plugin</artifactId>
              <version>0.0.3</version>
              <configuration>
                  <mainClass>testen.JavaFX_Window</mainClass>
              </configuration>
        </plugin> 
              
    </plugins>
  </build>
 
</project>

1656772943593.png



ich benutze java 11 unter windows
 

KonradN

Super-Moderator
Mitarbeiter
Wie startest Du es denn? Beim Start müssen die Abhängigkeiten alle angegeben werden. Das müsste die IDE richtig machen und da Du das javafx Plugin nutzt kannst Du es über das Ziel javafx:run auch über maven ausführen.
Wenn Du etwas weiter geben willst, dann dient dazu das ziel javafx:jlink, was ein Image erzeugt.

Mein Tipp: Schau Dir das Getting Started auf openjfx.io an!

Des weiteren setzt Du in Deiner POM keine Java Version - damit hast du den Default von java 1.5. Das wirst Du vermutlich nicht wollen.
 

Hein_nieH

Bekanntes Mitglied
Hallo KonradN,

vielen Dank für den Hinweis.
Der Tip war schon mal nicht schlecht.
Jetzt bekomme ich diesen Fehler:
Loading library api-ms-win-core-libraryloader-l1-1-0 from resource failed: java.lang.UnsatisfiedLinkError: C:\Users\E7470\.openjfx\cache\12.0.2\api-ms-win-core-libraryloader-l1-1-0.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform

Meine JDK hat die Versionsnummer: jdk-11.0.9+11 und ist eine 32 Bit-Version.
Bis zu welcher Versionsnummer gab es die javafx-Bibliothek als 32-Bit-Version?

Gruss Hein_nieH
 

Hein_nieH

Bekanntes Mitglied
Hallo,

ich bin mir nicht sicher, ob Maven eine JavaFX-Bibliothek für 32 bit bereitstellt.

Aus dem Paket "openjfx11_x86" habe ich jetzt alle dort enthaltenen jar-Dateien als externe jar-Datei in meinen Build-Path (Eclipse)
eingefügt.
Wenn ich mein erstes JavaFX_Testprogramm als Java Application starte erhalte ich von Eclipse nachstehende Fehlermeldung:

"Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen"

Hat jemand eine Idee wie ich mein JavaFX_Testprogramm unter jdk-11.0.9+11 (32 bit) zum Laufen bekomme.
Vielmehr würde mich interessieren, ob jemand überhaupt mit dem von mir benutzten jdk eine FX-Anwendung ausführen konnte.

Gruss Hein_nieH
 

KonradN

Super-Moderator
Mitarbeiter
Ich kann nur empfehlen, Projekte nur unabhängig von IDEs zu erstellen. Es ist einfach sinnlos, da in der IDE in diversen Fenstern irgendwo versteckt Einstellungen vorzunehmen. Besonders fatal wird, wenn man keine Ahnung hat, was man da einstellt.

Daher: Maven oder Gradle sind die Tools der Wahl. Alles andere ist ein typischer Fall von "selbst schuld".
Hintergrund hier ist: Bei Maven und Gradle kann man das Projekt mal einfach so weiter geben. So eine POM ist schnell gezeigt, Änderungen sind schnell gemacht. Zumindest ich habe keinen Bock darauf, da durch irgendwelche Optionen zu gehen und Bildschirmfotos anzufordern oder so.
==> Es braucht also niemanden, der da per discord mit drauf schaut!

Anfänger: Wer als Anfänger Eclipse nutzt ist selbst schuld. Das ist eine IDE, die alles kann. Aber auch für Experten gemacht ist. Mach was falsch und du bist massiv aufgeschmissen! Die Unterstützung von Anfängern ist minimal. IntelliJ macht da deutlich mehr und bietet viel mehr Fehlerbehebungen an. Da ist vieles ein einfacher Klick auf einen eingeblendeten Link.

Und spätestens wenn Anfänger sich durch zig Uralt Blogs wälzen um dann irgendwas in Eclipse zu machen ohne es zu verstehen, dann ist das Ergebnis doch eh klar, oder bezweifelt das irgend jemand.

ein projekt das in elcipse nicht ufnktioniert funktioniert auch nicht in intellij
Da IntelliJ bei der Behebung deutlich mehr Hilfe anbietet, macht es eben doch einen sehr großen Unterschied. Das ist die Erfahrung, die ich bei vielen Anfängern schon sammeln durfte und die ich auch bei meiner Arbeit oft genug erlebt habe.
 
Y

yfons123

Gast
ich hätte ihm geholfen in eclipse ein javafx maven projekt anzulegen und ihm von der plage von efxclipse abzuhalten..

danach gibts eh nur 2 ergebnisse
1. javafx funtkioniert noch mit der alten einstellung dass wenn man ein 32 bit system benutzt dass es das automatisch erkennt
2. man sich selber drum kümmern muss

aber zuerst sollte man halt dafür sorgen dass man ein 100% korektes projekt hat ... ansonsten muss man alle ergebnisse absuchen
 
Y

yfons123

Gast
Das ist eine IDE, die alles kann.
hust live templates hust
hust klassen templates hust

eclipse braucht schon viel liebe bei der konfiguration udn plugins um standard sachen zu können... aber anscheinend ist da jetbrains alleine mit der idee standard sachen in eine IDE zu packen...
VS Community hat es aucfh nur umständlich gemacht ( und laggt wie noch was .. das ist jetzt auf Rider vs VSCommuntiy mit c# bezogen )
 

KonradN

Super-Moderator
Mitarbeiter
Also nur um es noch einmal deutlich zu sagen:
Er hat da ja am Anfang ein Maven Projekt gezeigt! Er nutzt also bereits Maven!

Die Versionen sind aber "asbach" und ich weiss nicht, was er wie startet. Wenn er generell mit dem maven Ziel javafx:run startet, dann sollte da Eclipse nicht weiter hinein pfuschen. Aber das ist halt immer noch die große Frage.

eclipse braucht schon viel liebe bei der konfiguration udn plugins um standard sachen zu können...
Nur weil eclipse Plugins braucht besagt nicht, dass Eclipse nicht mächtig ist.

Sonst kommt noch der Spruch: Maven kann absolut nichts (ok, fast nichts. Es kann Konfigurationen einlesen und den Zyklus durchgehen und so ... )! Denn die Funktionalität steckt nun einmal in Plugins :)
 
Y

yfons123

Gast
! Er nutzt also bereits Maven!
ja er benutzt es. aber auch richtig ? das missing javafx components wird in die exception rein laufen dass die application klasse nicht sichtbar ist usw ... der klassiker bei javafx... wer weis... kann ja durchaus sein dass das alles richtig gemacht wurde =>
Aus dem Paket "openjfx11_x86" habe ich jetzt alle dort enthaltenen jar-Dateien als externe jar-Datei in meinen Build-Path (Eclipse)
eingefügt.

Nur weil eclipse Plugins braucht besagt nicht, dass Eclipse nicht mächtig ist.
es war nicht gemeint dass plugins schlecht sind sondern als person will man immer den strom schwimmen mit dem geringsten widerstand...

da hat man halt die option
1. intellij => vorinstalliert und einfach
2. eclipse => nicht vorinstalliert, und wenn man es sich holt ist es auch noch schwieriger
warum sollte man dann 2.tens nehmen .. du findest bestimmt einen grund 2tens zu nehmen aber dann muss man halt mit viel liebe an die sache ran gehen und vllt fließt dann auch mal eine träne
 

KonradN

Super-Moderator
Mitarbeiter
Muss es Java 11 sein und so? Ansonsten wäre mein Ratschlag;
a) Besorge Dir Java 17 z.B. von https://adoptium.net/ - Bei der Installation auch JAVA_HOME setzen lassen oder wenn Du es nur als ZIP entpackst, dann setze einfach JAVA_HOME und den Path manuell mit einem Script a.la.
Code:
@echo off
set JAVA_HOME=c:\apps\jdk-17
set PATH=%JAVA_HOME%\bin;%PATH%
b) Lade Dir mal das Beispiel Projekt runter: https://github.com/kneitzel/JavaFXMavenApp
c) In dem Projekt einfach mal ein mvnw clean package ausführen.

Danach hast Du in target\jpackage\javafxapp eine exe, die Du ausführen können solltest.

Wenn Das funktioniert, dann wissen wir, dass Deine Probleme nichts mit 32Bit zu tun haben ... Und dann hast Du ein Maven Projekt, das Du als Ausgangsbasis nehmen kannst.

Bezüglich der Fehlermeldung ist mir noch eingefallen: Das kann daran liegen, dass die Klasse, die von Application erbt, auch die main Methode enthält und da JavaFX etwas eigen ist und dann so meckert.
Workaround ist eine weitere Klasse, die dann eine main Methode hat, die nur die main Methode in der anderen Klasse aufruft.
Aber das ist ein einfaches rumraten - ein vernünftiges Projekt ist das a und o und bei dem Projekt, das ich eben mal erstellt und hochgeladen habe, hat man schon viele Dinge, die genau so Sinn machen.
 

Thopx14

Mitglied
Hallo KonradN,

ich bin zwar nicht der Threadstarter, aber ich wollte mich bedanken für das super Beispiel! Ich bin Wiedereinsteiger und mache grade erste Schritte mit JavaFX. Ich habe mich die letzten Tag mit Maven herumgeschlagen und vieles hat mich einfach nur erschlagen. Dein Beispiel funktioniert so 'out of the box' das ist echt herrlich :D. Oft findet man ja nur Schnipsel, aber dein Beispiel hat mir so gut gefallen, dass ich mich hier angemeldet habe ;).

Ich verstehe zwar nicht alles was Maven da im Hintergrund macht, aber es wird immer ein bisschen klarer. Danke dafür jedenfalls 👍.

Grüße,
-Thopx
 

KonradN

Super-Moderator
Mitarbeiter
intellij baut dir auch so ein beispiel zusammen aber mit wesentlich weniger extras
Das ist ja das große Problem: Es fehlt fast alles, was hier wichtig ist. Man will ja früher oder später seine Anwendung deployen. Aber auch schon so banale Dinge wie:
  • Prüfen auf neue Versionen der Abhängigkeiten
  • Statische Codeanalyse
  • ...
fehlen da komplett.

Wenn dann noch eine alte Abhängigkeit ohne module-info daher kommt, dann ist man mit IDE Boardmitteln schon etwas aufgeschmissen.
 

Thopx14

Mitglied
Das ist ja das große Problem: Es fehlt fast alles, was hier wichtig ist. Man will ja früher oder später seine Anwendung deployen. Aber auch schon so banale Dinge wie:
  • Prüfen auf neue Versionen der Abhängigkeiten
  • Statische Codeanalyse
  • ...
fehlen da komplett.
Genau das ist das Problem. Eine .exe zusammenbauen kann intellij nicht 'out of the box'.

Wenn dann noch eine alte Abhängigkeit ohne module-info daher kommt, dann ist man mit IDE Boardmitteln schon etwas aufgeschmissen.
Ich verstehe das mit der module-info noch nicht ganz. Warum benötigt eine JavaFX Anwendung zwingend eine module-info. Ich verstehe das Modulsystem von Java (so halbwegs), aber warum braucht eine Abhänigkeit zwinged eine module-info. Wenn ich z.B. das Beispiel log4j nehme (ich weiß nicht, ob das Projekt modular aufgebaut ist, oder nicht). Wenn log4j kein modul exportiert, kann ich es dann nicht zusammen mit einer JavaFX-Anwendung verpacken? moditect-maven-plugin macht ja genau das, soweit ich es verstanden habe. Es generiert eine module-info für Abhängigkeiten ohne module-info. Ist das notwendig, oder 'nice to have'?

Danke :)
 

KonradN

Super-Moderator
Mitarbeiter
Ich verstehe das mit der module-info noch nicht ganz. Warum benötigt eine JavaFX Anwendung zwingend eine module-info.
Also die javafx Anwendung sollte eine module-info Datei haben, wenn fxml Dateien geladen werden. Hintergrund ist, dass ohne diese module-info Datei ein unnamed module gebaut wird. Dieses hat (vereinfacht ausgedrückt) ein requires auf alle Module im Classpath und ein exports auf alle eigenen Namespaces. Das reicht aber nicht aus für den FXML Loader. Dieser muss den Controller analysieren und das benötigt zwingend ein opens.

aber warum braucht eine Abhänigkeit zwinged eine module-info.
Dies liegt an dem Schritt JLink der aufgerufen wird. JLink analysiert die Module um dann nur die Module einzubauen, die benötigt werden. Das scheitert bei Abhängigkeiten ohne module-info. Und die Lösung, die ich da vorschlage: Mittels moditect diese module-info einfach nachträglich erzeugen.
Das ist notwendig, damit JLink keinen Fehler ausgibt.
 

Thopx14

Mitglied
Also die javafx Anwendung sollte eine module-info Datei haben, wenn fxml Dateien geladen werden. Hintergrund ist, dass ohne diese module-info Datei ein unnamed module gebaut wird. Dieses hat (vereinfacht ausgedrückt) ein requires auf alle Module im Classpath und ein exports auf alle eigenen Namespaces. Das reicht aber nicht aus für den FXML Loader. Dieser muss den Controller analysieren und das benötigt zwingend ein opens.
Danke für die Erklärung. Das erklärt auch, warum die Anwendung ohne 'opens' nicht startet. Vermutlich dann wegen Reflection, oder? Also den Annotation, die FXML nutzt!?

Dies liegt an dem Schritt JLink der aufgerufen wird. JLink analysiert die Module um dann nur die Module einzubauen, die benötigt werden. Das scheitert bei Abhängigkeiten ohne module-info. Und die Lösung, die ich da vorschlage: Mittels moditect diese module-info einfach nachträglich erzeugen.
Das ist notwendig, damit JLink keinen Fehler ausgibt.
Danke für die Erklärung :) . Das hilft sehr beim Verständnis.
 

Thopx14

Mitglied
Hallo @KonradN
ich habe mit deiner Lösung (https://github.com/kneitzel/JavaFXMavenApp) ein bisschen herumgespielt, aber ich bekomme es nicht zum Laufen, wenn ich eine Abhängigkeit einfüge, die keine module-info hat und mit moditect eine generieren lasse dann bekomme ich einen Fehler bei jlink:

Code:
[INFO] --- moditect-maven-plugin:1.0.0.RC1:add-module-info (add-module-info-to-dependencies) @ javafxapp ---
writing to C:\Users\thoma\IdeaProjects\JavaFXMavenApp\target\moditect\metadata.extractor\module-info.java
[INFO] Created module descriptor at C:\Users\thoma\IdeaProjects\JavaFXMavenApp\target\moditect\generated-sources\metadata.extractor\module-info.java
[INFO]
[INFO] --- moditect-maven-plugin:1.0.0.RC1:create-runtime-image (create-runtime-image) @ javafxapp ---
[ERROR] Error: automatic module cannot be used with jlink: javafx.graphicsEmpty from file:///C:/Users/thoma/IdeaProjects/JavaFXMavenApp/target/modules/javafx-graphics-17.0.2.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  14.635 s
[INFO] Finished at: 2022-09-16T12:31:32+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.moditect:moditect-maven-plugin:1.0.0.RC1:create-runtime-image (create-runtime-image) on project javafxapp: Execution create-runtime-image of goal org.moditect:moditect-maven-plugin:1.0.0.RC1:create-runtime-image failed: Execution of jlink failed -> [Help 1]

Wobei die Fehlermeldung variiert. Es folgt aber immer dem selben Schema:
[ERROR] Error: automatic module cannot be used with jlink

folgendes habe ich in deiner Lösung geändert (patch File):

Code:
Index: pom.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/pom.xml b/pom.xml
--- a/pom.xml    (revision ddea75dfb3929941d1b3400d83190b1c4ae42281)
+++ b/pom.xml    (revision dda9d262a606be03e5664490be98f03d3add8593)
@@ -92,6 +92,27 @@
             <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
+
+        <!--log4j-->
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <version>2.18.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+            <version>2.18.0</version>
+        </dependency>
+
+        <!--metadata-extractor-->
+        <dependency>
+            <groupId>com.drewnoakes</groupId>
+            <artifactId>metadata-extractor</artifactId>
+            <version>2.18.0</version>
+        </dependency>
+
     </dependencies>
 
     <build>
@@ -210,19 +231,17 @@
                             <outputDirectory>${project.build.directory}/modules</outputDirectory>
                             <overwriteExistingFiles>true</overwriteExistingFiles>
                             <!-- Beispiel wie eine Dependency ohne module-info diese bekommen kann! -->
-                            <!--
                             <modules>
-                                <module>
-                                    <artifact>
-                                        <groupId>org.json</groupId>
-                                        <artifactId>json</artifactId>
-                                    </artifact>
-                                    <moduleInfo>
-                                        <name>org.json</name>
-                                    </moduleInfo>
-                                </module>
+                            <module>
+                                <artifact>
+                                    <groupId>com.drewnoakes</groupId>
+                                    <artifactId>metadata-extractor</artifactId>
+                                </artifact>
+                                <moduleInfo>
+                                    <name>metadata.extractor</name>
+                                </moduleInfo>
+                            </module>
                             </modules>
-                            -->
 
                             <module>
                                 <mainClass>${main.class}</mainClass>
Index: src/main/java/de/kneitzel/JavaFXApp.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/de/kneitzel/JavaFXApp.java b/src/main/java/de/kneitzel/JavaFXApp.java
--- a/src/main/java/de/kneitzel/JavaFXApp.java    (revision ddea75dfb3929941d1b3400d83190b1c4ae42281)
+++ b/src/main/java/de/kneitzel/JavaFXApp.java    (revision dda9d262a606be03e5664490be98f03d3add8593)
@@ -1,5 +1,6 @@
 package de.kneitzel;
 
+import com.drew.metadata.Metadata;
 import javafx.application.Application;
 import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
@@ -7,11 +8,17 @@
 import javafx.scene.control.Button;
 import javafx.scene.layout.StackPane;
 import javafx.stage.Stage;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 public class JavaFXApp extends Application {
 
+    private static final Logger logger = LogManager.getLogger();
+
     @Override
     public void start(Stage primaryStage) {
+        Metadata metadata;
+        logger.error("Hallo Welt");
         primaryStage.setTitle("Hello World!");
         Button btn = new Button();
         btn.setText("Say 'Hello World'");
Index: src/main/java/module-info.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
--- a/src/main/java/module-info.java    (revision ddea75dfb3929941d1b3400d83190b1c4ae42281)
+++ b/src/main/java/module-info.java    (revision dda9d262a606be03e5664490be98f03d3add8593)
@@ -3,6 +3,8 @@
     requires javafx.graphics;
     requires javafx.controls;
     requires javafx.web;
+    requires org.apache.logging.log4j;
+    requires metadata.extractor;
 
     exports de.kneitzel;
     opens de.kneitzel;

Ich stehe irgendwie auf dem Schlauch und habe keine Idee wie ich hier weiterkomme. Evtl. mache ich auch etwas grundlegendes falsch :-/.

Danke nochmals und viele Grüße,
-Thopx
 

KonradN

Super-Moderator
Mitarbeiter
Ach je ... das kommt mir etwas bekannt vor. Ich bin in der Vergangenheit auch schon einmal in solch ein Problem gerannt. Die Meldung mit den JavaFX Empty Modulen war dabei aber nur leider eine Fehlermeldung, die einen in die Irre leitet.

Hintergrund des Problems, das da angezeigt wird, kann ich noch kurz erläutern:
JavaFX hat einen Plattform Anteil, d.h. es gibt zwar z.B. das javafx-graphics.jar, aber das ist leer. (Bis auf ein Manifest natürlich!)

Der eigentliche Inhalt ist einer Plattform spezifischen Datei ... das kann man sich mal ansehen:
Code:
konrad@MBP-von-Konrad 17.0.2 % jar tf javafx-graphics-17.0.2.jar
META-INF/
META-INF/MANIFEST.MF
konrad@MBP-von-Konrad 17.0.2 % jar tf javafx-graphics-17.0.2-mac-aarch64.jar
META-INF/
META-INF/MANIFEST.MF
libjavafx_iio.dylib
javafx-swt.jar
libglass.dylib
libjavafx_font.dylib
libprism_common.dylib
libprism_es2.dylib
libdecora_sse.dylib
libprism_sw.dylib
javafx/
...

Das führt aber in der Regel zu keinen Problemen. Wenn dem JLink aber irgend etwas anderes nicht so ganz passt, dann kann er darüber etwas stolpern.

Was ich dann schon einmal gemacht habe um zu dem eigentlichen Problem zu kommen: Ich habe temporär diesen angemeckerten Modulen dann auch die entsprechendenModul-Informationen untergeschoben. Aber ich erinnere mich da gerade nicht wirklich und weiss nur noch, dass ich das als "dirty hack" abgetan hatte und froh war, als ich das nicht mehr brauchte (Da habe ich dann halt immer per maven gebaut).

Da es aber einen anderen Weg geben muss und ich da jetzt einen besseren Weg haben will, habe ich mal versucht, das Problem nachzustellen:
- Ich habe aber einfach einmal die Abhängigkeit eingefügt - dann kommt die Fehlermeldung bei ./mvnw clean package

Mein (praktischer) Lösungsweg - man kann da auch prinzipiell anders drauf kommen, aber das kommt nach dem praktischen Weg)
- Da er keine Details vom JLink Aufruf anzeigt: noch einmal mit -X aufrufen (mvnw clean package -X) - dann bekommt man den Aufruf gezeigt:
Code:
[DEBUG] Configuring mojo org.moditect:moditect-maven-plugin:1.0.0.RC1:create-runtime-image from plugin realm ClassRealm[plugin>org.moditect:moditect-maven-plugin:1.0.0.RC1, parent: java.net.URLClassLoader@6d21714c]
[DEBUG] Configuring mojo 'org.moditect:moditect-maven-plugin:1.0.0.RC1:create-runtime-image' with basic configurator -->
[DEBUG]   (f) compression = 2
[DEBUG]   (f) ignoreSigningInformation = false
[DEBUG]   (s) name = javafxapp
[DEBUG]   (s) module = FXAppModule
[DEBUG]   (f) launcher = org.moditect.mavenplugin.image.model.Launcher@6419726f
[DEBUG]   (f) mavenSession = org.apache.maven.execution.MavenSession@1c504e66
[DEBUG]   (f) modulePath = [/Users/konrad/Projects/GitHub/JavaFXMavenApp/target/modules]
[DEBUG]   (f) modules = [FXAppModule]
[DEBUG]   (f) noHeaderFiles = false
[DEBUG]   (f) noManPages = false
[DEBUG]   (f) outputDirectory = /Users/konrad/Projects/GitHub/JavaFXMavenApp/target/jlink-image
[DEBUG]   (f) stripDebug = true
[DEBUG] -- end configuration --
[DEBUG] Running jlink: /Users/konrad/Library/Java/JavaVirtualMachines/graalvm-ce-17/Contents/Home/bin/jlink --add-modules FXAppModule --module-path /Users/konrad/Library/Java/JavaVirtualMachines/graalvm-ce-17/Contents/Home/jmods:/Users/konrad/Projects/GitHub/JavaFXMavenApp/target/modules --output /Users/konrad/Projects/GitHub/JavaFXMavenApp/target/jlink-image --launcher javafxapp=FXAppModule --compress 2 --strip-debug
[DEBUG] Error: automatic module cannot be used with jlink: javafx.baseEmpty from file:///Users/konrad/Projects/GitHub/JavaFXMavenApp/target/modules/javafx-base-17.0.2.jar
[ERROR] Error: automatic module cannot be used with jlink: javafx.baseEmpty from file:///Users/konrad/Projects/GitHub/JavaFXMavenApp/target/modules/javafx-base-17.0.2.jar
  • Den Aufruf kann man dann manuell auch durchführen - aber das bringt den gleichen Fehler.
  • Nun beheben wir den Fehler einfach temporär: Die "Empty" javafx Dateien kann man löschen: ```rm target/modules/javafx-*-17.0.2.jar
    Code:
    (Das ist jetzt Mac oder Unix Systeme - bei Windows halt ein del statt rm und / durch \ ersetzen.)
    - Dann den Aufruf noch einmal machen und wir bekommen den Fehler:
    [CODE]konrad@MBP-von-Konrad JavaFXMavenApp % /Users/konrad/Library/Java/JavaVirtualMachines/graalvm-ce-17/Contents/Home/bin/jlink --add-modules FXAppModule --module-path /Users/konrad/Library/Java/JavaVirtualMachines/graalvm-ce-17/Contents/Home/jmods:/Users/konrad/Projects/GitHub/JavaFXMavenApp/target/modules --output /Users/konrad/Projects/GitHub/JavaFXMavenApp/target/jlink-image --launcher javafxapp=FXAppModule --compress 2
    Error: automatic module cannot be used with jlink: xmpcore from file:///Users/konrad/Projects/GitHub/JavaFXMavenApp/target/modules/xmpcore-6.1.11.jar
    konrad@MBP-von-Konrad JavaFXMavenApp %

    Das wäre jetzt ein Weg, den ich als "praktischen" Lösungsweg ansehen würde. Also wenn man einfach die Finger auf den Tasten haben möchte ohne dass man da irgend wie zu sehr recherchieren muss ...

    Aber man kommt natürlich auch direkt zu dem Problem: Du hast eine Abhängigkeit hinzu gefügt:

    Und da findet sich unter compile dependency auch direkt das xmpcore. Da fehlt also auch die module-info für.

    Also bauen wir die auch noch ein (Bei dem moditect Modul):
    XML:
                                <modules>
                                    <module>
                                        <artifact>
                                            <groupId>com.drewnoakes</groupId>
                                            <artifactId>metadata-extractor</artifactId>
                                        </artifact>
                                        <moduleInfo>
                                            <name>metadata.extractor</name>
                                        </moduleInfo>
                                    </module>
                                    <module>
                                        <artifact>
                                            <groupId>com.adobe.xmp</groupId>
                                            <artifactId>xmpcore</artifactId>
                                        </artifact>
                                        <moduleInfo>
                                            <name>xmpcore</name>
                                        </moduleInfo>
                                    </module>
                                </modules>

    Und schon läuft das ```./mvnw clean package[/CODE] durch :)

Ich hoffe, dass dies interessant und auch hilfreich war.
 

Thopx14

Mitglied
Hallo @KonradN,

danke für deine schnellen Hinweiße :) . Ich habe es jetzt auch hinbekommen. Ich habe die Abhänigkeit zu 'xmpcore' auch gesetzt und es hat auf Anhieb funktioniert 👍. Unter Windows funktioniert es super 👍. Wenn ich das jetzt mal so zusammenfasse, dann war die Fehlermeldung einfach falsch und das eigentliche Problem, war die Abhängigkeit ohne 'module-info' (zu 'xmpcore')?

Habe es zum Spaß mal unter Linux getestet, aber da kommt er nicht weiter.

Code:
[ERROR] Failed to execute goal com.github.akman:jpackage-maven-plugin:0.1.2:jpackage (default) on project javafxapp: Error: Unable to resolve project dependencies: Cannot run program "/usr/bin/bin/java" (in directory "/tmp/plexus-java_jpms-1431520557328547902"): error=2, No such file or directory -> [Help 1]

Das ist primär aber nicht so schlimm, ich wollte es nur mal testen. Würde die App später auch gerne für OSX kompilieren, aber da finde ich sicher auch was im Internet zum cross compilieren.

Danke und viele Grüße,
-ThopX
 

KonradN

Super-Moderator
Mitarbeiter
Auf deinem Linux System scheint Java nicht richtig installiert zu sein.

Und die Fehlermeldung ist irreführend aber streng genommen nicht falsch. Das jar File mit dem auto module gibt es ja wirklich.
 

Thopx14

Mitglied
Und die Fehlermeldung ist irreführend aber streng genommen nicht falsch. Das jar File mit dem auto module gibt es ja wirklich.
Ja das stimmt. Der Fehler war nur dann doch ein anderer ;-).

Auf deinem Linux System scheint Java nicht richtig installiert zu sein.
Ich habe es mit WSL (Linux unter Windows) getestet. Die greifen auf das gleiche Verzeichnis zu. Evtl. hackt es da.

Danke jedenfalls, du hast mir sehr geholfen!
 

BCCameron

Neues Mitglied
Hi,

ich klinke mich hier nun auch mal ein. Ich bin auf diesen Thread gestoßen, da ich versuche ein jar-File zu packen, welches dann ausgeführt werden soll.
Das Beispielprogramm funktioniert in so weit, dass die exe ausführbar ist. Aber wenn ich mit
Code:
mvn clean package
ein jar Erzeuge und das dann mit
Java:
java -jar javafxapp-1.0-SNAPSHOT.jar
ausführen möchte, bekomme ich die Meldung, dass keine Manifestdatei existiert.
Also habe ich diese angelegt unter src/main/java/META-INF mit dem Inhalt
Code:
Manifest-Version: 1.0
Main-Class: de.kneitzel.JavaFXApp
Die POM habe ich erweitert mit
XML:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>${maven.jar.plugin}</version>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
                <mainClass>de.kneitzel.JavaFXApp</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

Nun erhalte ich die Fehlermeldung

Fehler: Hauptklasse de.kneitzel.JavaFXApp konnte nicht gefunden oder geladen werden
Ursache: java.lang.NoClassDefFoundError: javafx/application/Application

Kann mir jemand auf die Sprünge helfen?

Viele Grüße
Björn
 
Y

yfons123

Gast
hast du denn in deinem source ordner eine klasse mit einer main methode in dem package? maven sagt nein
Java:
de.kneitzel.JavaFXApp
 

KonradN

Super-Moderator
Mitarbeiter
Da kommt eine Eigenart von JavaFX zum Tragen, die leider ein paar zusätzliche Anforderungen an den Classloader stellt. Workaround wäre, einfach eine weitere Klasse Main zu bauen, welche dann in der main Methode einfach die main Methode von JavaFXApp aufruft.

Aber man ist ab Java 9 davon ab gekommen, Java Programme als JAR weiter zu geben. Das führt nur zu Problemen und ist schwer zu supporten. Daher ja das Ganze mit JLink und JPackage. Und daher auch kein Manifest in der JAR Datei in dem Projekt.

hast du denn in deinem source ordner eine klasse mit einer main methode in dem package? maven sagt nein
Java:
de.kneitzel.JavaFXApp
Ja, die Klasse ist da - denn die Fehlermeldung besagt ja, dass die Application Klasse von JavaFX nicht gefunden wird.
 

KonradN

Super-Moderator
Mitarbeiter
Ach ja - die ganze Abhängigkeiten müssen natürlich auch im Classpath sein. Das kann natürlich auch noch zusätzlich ein Problem gewesen sein. Da wäre ggf. das shade Plugin gut, um die Abhängigkeiten mit in das JAR zu packen. Aber das sind alles Dinge, die so nicht mehr vorgesehen sind.
 

BCCameron

Neues Mitglied
Hey ihr zwei,

vielen Dank für den Tip. mit der Extra-Main hat's dann auch funktioniert ;-)

Wir arbeiten bei uns noch sehr viel mit .jar - allerdings sind das dann auch keine JFX-Anwendungen ;-)
 
Y

yfons123

Gast
du kannst dir auch eine Ausführbare jar bauen und diese dann mit einer verknüpfung starten die auf ein vbs skript zeigt die eine powershell öffnet die dann die jar ausführt... würde auch gehen... ob man das so will..

ein gutes jpackage mit jlink zu haben wäre halt besser
 

KonradN

Super-Moderator
Mitarbeiter
Vor allem ganz im Geiste Javas, Plattform unabhängig.
Was aber doch schon generell zum scheitern verurteilt war und die ganzen Probleme waren nicht akzeptabel. Daher gab es ja so viele Lösungen für dieses "Problem". Wer da mal mehrere Java Applikationen auf einem System supporten musste, der wird das vermutlich mitfühlen können.

Man ist - sobald man auf JavaFX setzen will - schon auf die Haupt-Plattformen beschränkt. Und da Installer mit zu geben ist mehr als gut und doch auch kein Problem. Das plumpst doch beim Build Server einfach so hinten raus.

Und sorry, auf welchem System ist das noch ein ernstzunehmendes Deployment? Mac wirft einem sogar massiv Knüppel zwischen die Beine von wegen Security. Linux User - vor 20 Jahren war sowas ja noch ok, aber da wird doch heutzutage ein Package erwartet. apk, rpm, snap, flatpak, .... Windows im Enterprise Umfeld muss auch mit mindestens msi bedient werden.

Also ein Gedanke, der mal gut war und dann wurde klar, wie problematisch etwas ist ... Die Integration in den Browser ist ja ebenso weg - wobei das ja auch recht schön war.
 

Hansen_07

Bekanntes Mitglied
Was aber doch schon generell zum scheitern verurteilt war und die ganzen Probleme waren nicht akzeptabel. Daher gab es ja so viele Lösungen für dieses "Problem". Wer da mal mehrere Java Applikationen auf einem System supporten musste, der wird das vermutlich mitfühlen können.
Du hast schon recht. Im Grunde habe ich nur provokant den Marketing-Sprech von Oracle wiedergegeben. Die Realität sieht da leider nicht so einfach aus.
Man ist - sobald man auf JavaFX setzen will - schon auf die Haupt-Plattformen beschränkt. Und da Installer mit zu geben ist mehr als gut und doch auch kein Problem. Das plumpst doch beim Build Server einfach so hinten raus.
Die oben genannte Lösung irgendwas mit VBScript und Powershell, fand ich halt zu kurz gegriffen. Wenn dann müsste man sämtliche Zielsysteme berücksichtigen. Eben weil man das schön automatisiert anbieten könnte, aber eben dann doch für jedes Zielsystem separat Systemgerecht. Powershell z.b. hilft einem Linux Nutzer recht wenig.
Und sorry, auf welchem System ist das noch ein ernstzunehmendes Deployment? Mac wirft einem sogar massiv Knüppel zwischen die Beine von wegen Security. Linux User - vor 20 Jahren war sowas ja noch ok, aber da wird doch heutzutage ein Package erwartet. apk, rpm, snap, flatpak, .... Windows im Enterprise Umfeld muss auch mit mindestens msi bedient werden.
Das ist auch der Grund, warum ich versuche Schlau in Spring zu werden. Ein Frontend für alle Systeme/Devices mit entsprechenden Frameworks, dass Backend in Java/Spring.

Selbst wenn ich wollte, könnte ich keinen speziellen Installer für Apple oder Windows anbieten. Beide Systeme stehen mir nicht zu Verfügung. Win 7 fand ich noch relativ klasse, für Apple hatte ich nie genug Geld bzw. fühlte mich nie hipp genug. Also bleibt mir nur Linux, welches für meine Anwendungsfälle supi funktioniert.
Also ein Gedanke, der mal gut war und dann wurde klar, wie problematisch etwas ist ... Die Integration in den Browser ist ja ebenso weg - wobei das ja auch recht schön war.
Das wäre eine super Geschichte: wenn es so eine Variante wieder geben könnte. Java dass im Browser funktioniert ohne die Mängel der vergangenen Versuche.
 

KonradN

Super-Moderator
Mitarbeiter
Im Grunde habe ich nur provokant den Marketing-Sprech von Oracle wiedergegeben.
Ja, das dacht ich mir und das hatte ich Dir auch nicht böse genommen oder so. Und ich verstehe Deine Sichtweise sehr gut.

Die Probleme sind leider recht weitgehend. Ich hatte früher (Muss um 2000 gewesen sein) mal ein Programm gehabt, dass dann Setups für viele Plattformen erstellt hat. Da konnte ich dann tatsächlich auf Windows Installer-Pakete bauen für AIX, Solaris, Windows, Linux, Mac, .... Auf Knopfdruck sogar jeweils mit integriertem JRE.

Sowas ist schon was feines und das war damals toll. Hatte ich dann aber, als ich dann noch einmal geschaut hatte, so icht mehr gefunden. Aber die meisten Plattformen sind ja auch obsolet. Damals hatte ich mir dann ein Tool gekauft, dass unter Windows lief und auch Mac Binaries erzeugt hatte.

Und das sind auch weiterhin Dinge, die man bauen könnte. Es sind ja nur eine Hand voll Dinge wie:
  • IDE für Plattform herunter laden
  • Startscripte bereit stellen
Komplex wird es ja erst, wenn man zusätzlichen Schutz haben will - also das JAR liegt verschlüsselt vor und man hat einen eigenen Classloader, der das irgendwie einliest und all sowas.

Beide Systeme stehen mir nicht zu Verfügung.
Das ist nicht so sehr ein Problem. Das kann man bei vielen Anbietern von CI/CD Pipelines mit bekommen. So kenne ich z.B. https://circleci.com/pricing/ - da hat man dann auch Mac und Linux mit abgedeckt. (Habe ich aber bisher nicht ausprobiert. Das sind alles so Zeitsenken ... neulich erst gitpods angesehen (Da gibt es eine ganze IDE in einem Docker Image und so ... also schön, wenn man im Browser entwickeln wollte oder ... aber will ich das wirklich? :) )

Das ist auch der Grund, warum ich versuche Schlau in Spring zu werden. Ein Frontend für alle Systeme/Devices mit entsprechenden Frameworks, dass Backend in Java/Spring.
Das ist der Ansatz, den ich verfolge (so ich mal das Backend verlassen muss).
 

Hansen_07

Bekanntes Mitglied
Das ist nicht so sehr ein Problem. Das kann man bei vielen Anbietern von CI/CD Pipelines mit bekommen. So kenne ich z.B. https://circleci.com/pricing/ - da hat man dann auch Mac und Linux mit abgedeckt. (Habe ich aber bisher nicht ausprobiert. Das sind alles so Zeitsenken ... neulich erst gitpods angesehen (Da gibt es eine ganze IDE in einem Docker Image und so ... also schön, wenn man im Browser entwickeln wollte oder ... aber will ich das wirklich? :) )

Das ist auch etwas "Schlimmes".. es fehlt irgendwie die Zeit, wirklich in alles mal richtig einzutauchen. Da gibt es so vieles das toll oder interessant klingt, da bin ich einer der sich gerne verzettelt in den Tiefen/Untiefen der Technologien.
Zumal ich dann ja auch noch ganz genau weiß, dass ich allein bei Java noch extrem viele Baustellen habe, die es zu meistern gilt. Andererseits ist das das ja auch das Tolle: man lernt ständig dazu, es wird einem nie wirklich langweilig.

Umso schöner ist das natürlich, wenn man einen Arbeitgeber hat, der einen genau dafür bezahlt. Aber da hatte ich bisher nicht so das Glück. Eierlegendewollmichsäue, sind ja alles in einem, nur in nichts wirklich Profi :eek:

Aber uuppss, das ist jetzt längst Offtopic.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
hannibalstgt Fehler bei JCOMBOBOX GUI Anzeige AWT, Swing, JavaFX & SWT 4
J Fehler bei jFame.setTitle() AWT, Swing, JavaFX & SWT 8
thor_norsk SpringBoot-Fehler AWT, Swing, JavaFX & SWT 7
J Ich kriege eine Fehler Messesage bei meinem Media Player AWT, Swing, JavaFX & SWT 8
S Fehler beim Öffnen weiterer FXML AWT, Swing, JavaFX & SWT 11
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
T ListView nach Erweiterung Fehler in CellFactory AWT, Swing, JavaFX & SWT 8
beli3ver JavaFX Anwendung startet nicht, kann den Fehler nicht finden (Exception in Application start method) AWT, Swing, JavaFX & SWT 1
J "Exception in thread "AWT-EventQueue-0"" Fehler AWT, Swing, JavaFX & SWT 3
parrot JavaFX Fehler AWT, Swing, JavaFX & SWT 4
H JavaFX JavaFX Import Fehler AWT, Swing, JavaFX & SWT 4
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5
M AWT Kann meinen Fehler beim ActionListener nicht finden AWT, Swing, JavaFX & SWT 5
Z Swing Wert aus Textfeld auslesen -- null Fehler AWT, Swing, JavaFX & SWT 4
A eine Fehler AWT, Swing, JavaFX & SWT 9
A Fehler beim Hintergrund AWT, Swing, JavaFX & SWT 17
L JavaFX Fehler beim setzen von Farben AWT, Swing, JavaFX & SWT 16
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
W fillRect() in Schleife spukt nur Fehler aus AWT, Swing, JavaFX & SWT 3
S Fehler: Hauptklasse neon.Main konnte nicht gefunden oder geladen werden AWT, Swing, JavaFX & SWT 5
Tronert JavaFX Fehler beim Ändern der font-weight AWT, Swing, JavaFX & SWT 7
Tommy135 JavaFX JavaFX Fehler beim Scenewechsel AWT, Swing, JavaFX & SWT 23
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
E Fehler bei Button AWT, Swing, JavaFX & SWT 1
L Unbekannter Fehler AWT, Swing, JavaFX & SWT 13
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
I Fehler bei Alert AWT, Swing, JavaFX & SWT 6
J Fehler bei PixelColor erkennung AWT, Swing, JavaFX & SWT 4
T Fehler bei ActionEvent? AWT, Swing, JavaFX & SWT 3
V Fehler bei Würfelsimulator GUI AWT, Swing, JavaFX & SWT 2
Z GUI-Problem, finde meinen Fehler nicht! AWT, Swing, JavaFX & SWT 11
Seikuassi SWING - (Hoffentlicher) simpler Color-Fehler AWT, Swing, JavaFX & SWT 4
M Swing finde den fehler nicht AWT, Swing, JavaFX & SWT 9
A Fehler bei erstellen eines JTextFields AWT, Swing, JavaFX & SWT 2
D Unlogischer Fehler? AWT, Swing, JavaFX & SWT 2
L Eclipse Fehler besser zu verstehen!!! AWT, Swing, JavaFX & SWT 4
E Warum macht die einfache Animation einen kleinen Fehler? AWT, Swing, JavaFX & SWT 14
bluerob Fehler bei Wertübermittlung über KeyListener AWT, Swing, JavaFX & SWT 3
H GUI-Textausgabe Fehler AWT, Swing, JavaFX & SWT 5
S String is null Fehler AWT, Swing, JavaFX & SWT 2
P Swing GroupLayout() Fehler? AWT, Swing, JavaFX & SWT 3
J JMenuBar ist geaddet, aber nicht im Frame. Wo ist der Fehler? (inkl. Code) AWT, Swing, JavaFX & SWT 2
N Touchscreen-Scrollen, wo liegt der Fehler? AWT, Swing, JavaFX & SWT 3
N Fehler Inhalt von JTable wird gelöscht AWT, Swing, JavaFX & SWT 5
S Fehler beim Zweites 3D Bild AWT, Swing, JavaFX & SWT 2
L Fehler beim erstellen einer Tabelle mithilfe von 2d-Array AWT, Swing, JavaFX & SWT 3
M GEF tutorial Fehler finden AWT, Swing, JavaFX & SWT 4
S Grafik Fehler AWT, Swing, JavaFX & SWT 15
M Fehler bei Arrayübergabe an JComboBox AWT, Swing, JavaFX & SWT 10
J Fehler beim Einklappen eines Trees AWT, Swing, JavaFX & SWT 4
P 2D-Grafik Fehler beim Laden eines Bildes AWT, Swing, JavaFX & SWT 25
S LayoutManager Fehler gesucht 18.6.2011 AWT, Swing, JavaFX & SWT 4
C Fehler nur bei manchen Usern AWT, Swing, JavaFX & SWT 8
Screen Fehler bei Get-Methode für ArrayList AWT, Swing, JavaFX & SWT 8
K JFrame + KeyListener + Runnable = Fehler AWT, Swing, JavaFX & SWT 3
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
K 2D-Grafik Fehler beim Farbe auslesen AWT, Swing, JavaFX & SWT 3
J Fehler beim Gif Datei öffnen AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Fehler beim Überzeichnen von Linien AWT, Swing, JavaFX & SWT 11
E Swing Fehler nach Befüllen einer JTable mit gesetzem Rowsort?! AWT, Swing, JavaFX & SWT 10
P Swing Misteriöser Fehler JTable AWT, Swing, JavaFX & SWT 5
Y Swing JPasswordField Fehler AWT, Swing, JavaFX & SWT 14
A Swing Unknown Source Fehler AWT, Swing, JavaFX & SWT 9
N Fehler bei Grouplayout AWT, Swing, JavaFX & SWT 17
S ActionPerformed Fehler... AWT, Swing, JavaFX & SWT 9
C BufferedImage-Fehler? Falsches Bild wir gezeichnet AWT, Swing, JavaFX & SWT 5
A Tabellen Überschriften ändern -setColumnIdentifiers()- Fehler AWT, Swing, JavaFX & SWT 7
hdi Swing JTable: Fehler beim Nutzen von RowSorter#setRowFilter AWT, Swing, JavaFX & SWT 4
M.F.G. Fehler bei der Anzeige Grafischer Elemente AWT, Swing, JavaFX & SWT 13
D Swing Verwirrender Fehler AWT, Swing, JavaFX & SWT 7
J Fehler in fillRoundRect AWT, Swing, JavaFX & SWT 2
D Probleme mit Spiel-Engine. Komische Fehler. AWT, Swing, JavaFX & SWT 5
W fehler jedoch ka wo AWT, Swing, JavaFX & SWT 14
F Fehler in der Startklasse AWT, Swing, JavaFX & SWT 13
A Fehler bei der Parametereingabe? AWT, Swing, JavaFX & SWT 16
P finde den Fehler im JTable nicht AWT, Swing, JavaFX & SWT 2
Spin Fehler in Vergleich AWT, Swing, JavaFX & SWT 6
K Swing: ContentPane von JDialog ist transparent (Fehler) AWT, Swing, JavaFX & SWT 10
Dragonfire ZoomImage flackert -> Fehler: repaint-Aufruf [gelöst] AWT, Swing, JavaFX & SWT 5
T Invalid Range - Fehler bei TableRowSorter / Tabelle AWT, Swing, JavaFX & SWT 17
DasDogma Fehler bei getText() AWT, Swing, JavaFX & SWT 10
I Fehler bei verschachtelten JScrollPanes AWT, Swing, JavaFX & SWT 2
M Fehler beim Zugriff von awt-KeyListener auf swt-Shell AWT, Swing, JavaFX & SWT 2
GilbertGrape Fehler bei HTML in JTextPane AWT, Swing, JavaFX & SWT 2
K Textfelder auslesen gibt immer Fehler AWT, Swing, JavaFX & SWT 2
D Fehler bei Button Array AWT, Swing, JavaFX & SWT 8
P Fehler beim Einlesen eines JTextFields AWT, Swing, JavaFX & SWT 2
G Viele Fehler beim zeichen AWT, Swing, JavaFX & SWT 5
M Fehler mit Jigloo AWT, Swing, JavaFX & SWT 3
M setColor mit Fehler cannot fiend symbol (java.awt.Color) AWT, Swing, JavaFX & SWT 2
Z habe code, habe fehler, habe keine lösung AWT, Swing, JavaFX & SWT 7
R JComboBox Fehler AWT, Swing, JavaFX & SWT 7
B NPE-Fehler AWT, Swing, JavaFX & SWT 11
A Fehler beim Auslesen aus einem Textfeld AWT, Swing, JavaFX & SWT 2
P JRadioButton in Schleife erstellen > wo liegt mein Fehler AWT, Swing, JavaFX & SWT 2
R setIcon löst Fehler aus AWT, Swing, JavaFX & SWT 4
B Durch Auslesen der Zwischenablage folgt Fehler im Excel AWT, Swing, JavaFX & SWT 2
spacegaier Fehler beim Aufrufen von Dialog aus ActionListener AWT, Swing, JavaFX & SWT 12
D Fehler bei JTable AWT, Swing, JavaFX & SWT 8
S TextField fehler AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben