
$ 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.