Eclipse Eclipse kann nicht auf die JOptionPane Methode zugreifen

TK02

Neues Mitglied
Hallo,
ich bin momentan dabei Java zu erlernen. Dafür nutze ich Eclipse. Als Betriebssystem läuft bei mir Fedora, Eclipse habe ich als Flatpak über Gnome Software installiert. Als Project execution environment ist JavaSE-21 ausgewählt. Wenn ich versuche, die JOptionPane Methode in einem Programm zu verwenden, erscheint immer eine Fehlermeldung. Folgendes Programm soll ausgeführt werden:
Code:
package test;

import javax.swing.JOptionPane;

public class Test {

    public static void main(String[] args) {
    var eingabe = JOptionPane.showInputDialog("Eingabe: ");
    System.out.println("Eingabe: " + eingabe);
    }
}

Ich erhalte diese Fehlermeldung:

Code:
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set,
or no headful library support was found,
but this program performed an operation which requires it,

    at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:164)
    at java.desktop/java.awt.Window.<init>(Window.java:553)
    at java.desktop/java.awt.Frame.<init>(Frame.java:428)
    at java.desktop/java.awt.Frame.<init>(Frame.java:393)
    at java.desktop/javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1925)
    at java.desktop/javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:2001)
    at java.desktop/javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1696)
    at java.desktop/javax.swing.JOptionPane.showInputDialog(JOptionPane.java:587)
    at java.desktop/javax.swing.JOptionPane.showInputDialog(JOptionPane.java:534)
    at java.desktop/javax.swing.JOptionPane.showInputDialog(JOptionPane.java:482)
    at java.desktop/javax.swing.JOptionPane.showInputDialog(JOptionPane.java:446)
    at test/test.Test.main(Test.java:8)

Ich bin sowohl im Umgang mit Linux und Java, als auch mit Eclipse sehr unerfahren. Trotz Recherche konnte ich nicht herausfinden, was das Problem verursacht. Folgende Dinge habe ich ausprobiert bzw. überprüft:

1) Wenn ich den Code per Terminal kompiliere und ausführe, funktioniert alles problemlos → es muss wohl an Eclipse liegen
2) In module-info.java ist requires java.desktop gesetzt. Die Displayvariable ist ebenfalls korrekt gesetzt.
3) Ich nutze Wayland, Eclipse will allerdings auf X11 zugreifen. Deswegen habe ich Gnome unter Xorg gestartet. Da lässt sich Exlipse allerdings gar nicht erst öffnen.
4) Ich habe gelesen, dass Eclipse mit Wayland Probleme haben kann, diese aber mit Xwayland behoben werden können. Xwayland ist bei mir installiert und aktiv, das Problem besteht dennoch.
5) Ich habe Eclipse mit flatpak run org.eclipse.Java -Djava.awt.headless=false gestartet (Da ich jedoch sowieso in der grafischen Benitzeroberfläche arbeite, sollte das ja eigentlich auch standardmäßig so sein)
6) Ich habe folgenden Befehl ausgeführt, um Eclipse Zugriff auf das home-Verzeichnis zu gewähren: sudo flatpak override org.eclipse.Java --filesystem=home

Ich bin mittlerweile sehr ratlos und weiß nicht mehr weiter. Es wäre super, wenn jemand eine Idee hätte und mit weiterhelfen könnte. Vielen Dank!
 
Das sind leider die Probleme mit den neuen Paketformaten. Ich habe versucht mich mit den Distributoren darüber auseinanderzusetzen. Diese sind aber völlig uneinsichtig. Ich verstehe das nicht, da sie sich ja immer so offen für alle und alles präsentieren. Solche Probleme wirst du mit vielerlei Software haben, sobald es über die 0815-Standardnutzung hinausgeht.
Ich kann dir nur raten, IDE's wie Eclipse, VSCode etc. nicht über Paketmanager oder Installer zu installieren. Man kann das meistens einfach herunterladen und in einen leeren Ordner im User-Home entpacken. Wenn du etwas versierter bist, dann unter /opt führ mehrere Nutzer. Updates, Plugins usw. funktionieren trotzdem. Du musst dir dann aber den Destop/Menü-Starter selbst anlegen oder ein entsprechendes Tool nutzen. Ich nutze auch keine Java-Installationen mehr unter Linux. Da empfehle ich dir SDKMan oder Homebrew oder wenn dich das nicht überfordert Dev-Container.

Ungetestet: https://formulae.brew.sh/cask/eclipse-java#default
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben