Assistierende Technologie nicht gefunden AWTError

Assistierende Technologie nicht gefunden AWTError
$ java -jar aprof-plot.jar
Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
    at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:807)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:886)
    at java.awt.Toolkit.getEventQueue(Toolkit.java:1734)
    at java.awt.EventQueue.invokeLater(EventQueue.java:1264)
    at aprofplot.Main.newWindow(Main.java:33)
    at aprofplot.Main.main(Main.java:359)

Mögliche Erklärungen, die ich hier gesehen habe, waren die Installation von Java-Access-Bridge. Aber ich kann es nicht installieren libaccess-java-bridge.

Antwort1

Ich bin auf meinem Ubuntu 15.10-Server auf denselben Fehler gestoßen, wollte aber aufgrund der Anzahl zusätzlicher Abhängigkeiten die nicht-headless-Version von OpenJDK nicht installieren. Eine einfachere Lösung bestand darin, unterstützende Technologien einfach zu deaktivieren.

Dies können Sie durch Bearbeiten der Datei für OpenJDK 8 erreichen accessibility.properties(ändern Sie die Version auf die Version, die auf Ihrem System tatsächlich verwendet wird):

sudo vim /etc/java-8-openjdk/accessibility.properties

Kommentieren Sie die folgende Zeile aus:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Sie können diese Zeile auch programmgesteuert bearbeiten:

sudo sed -i -e '/^assistive_technologies=/s/^/#/' /etc/java-*-openjdk/accessibility.properties

Antwort2

Lesen Sie den folgenden Thread. Ich konnte dieses Problem beheben, indem ich OpenJDK 8 Headless deinstallierte und OpenJDK 8 installierte.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798794

Von mir ausgeführte Befehle:

sudo dpkg -l | grep openjdk  

Hiermit wird überprüft, dass Sie tatsächlich die Headless-Version von JAVA ausführen und daher keine Grafikbibliothek verfügbar ist.

sudo apt-get remove openjdk-8-jre-headless

Hierdurch wird die Headless-Version entfernt.

sudo apt-get install openjdk-8-jre

Hiermit wird die nicht-Headless-Version von Java installiert.

Antwort3

Für diejenigen, die keinen Root-Zugriff auf ihren Rechnern haben, um die Konfigurationsdatei zu ändern oder die vollständige JRE nicht installieren möchten: Fügen Sie -Djavax.accessibility.assistive_technologies=" "Ihrem Befehl beispielsweise Folgendes hinzu:

$ java -jar aprof-plot.jar -Djavax.accessibility.assistive_technologies=" "

Beachten Sie, dass dies " "wichtig ist. Wenn Sie einfach „nichts“ als Parameter verwenden, lädt die JRE trotzdem alles, was in festgelegt ist /etc/java-8-openjdk/accessibility.properties.

Antwort4

Ich musste openjdk-11-jre deinstallieren, zB:

sudo apt remove openjdk-11-jre

oder

sudo apt remove openjdk-11*

um alle OpenJDK-11-Pakete auf Ihrem System zu entfernen.

Dadurch wird Ihr Programm gezwungen, auf openjdk-8-jre statt auf openjdk-11-jre zu laufen, da ich beide installiert hatte. Anscheinend läuft Java Assistive Technology nicht auf dem Paket openjdk-11-jre. Ich glaube, es gibt auch eine Möglichkeit, anzugeben, welche Java-Version ausgeführt werden soll, aber das fällt mir nicht spontan ein und ich bin sicher, dass es einen anderen Beitrag zu diesem Thema gibt.

verwandte Informationen