Hilfstechnologie nicht gefunden AWTError


69
$ 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 der Java-Access-Bridge. Aber ich kann nicht installieren libaccess-java-bridge.

Antworten:


128

Auf meinem Ubuntu 15.10-Server trat derselbe Fehler auf, aber ich wollte die nicht kopflose Version von OpenJDK wegen der Anzahl zusätzlicher Abhängigkeiten nicht installieren. Eine einfachere Lösung bestand darin, Hilfstechnologien einfach zu deaktivieren.

Dies können Sie tun, indem Sie die accessibility.propertiesDatei für OpenJDK 8 bearbeiten (ändern Sie die Version auf die tatsächlich auf Ihrem System verwendete Version):

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

Dies ist die beste Lösung. Funktioniert auch für Android-SDK / Tools / Draw9Patch (Android SDK Tools)
Gorlok

Dies funktionierte auch auf meinem Ubntu 15.10 für die Korrektur freemind, die sonst nicht
gestartet wurde

17
es ist mir heute passiert, zweieinhalb Jahre nach dieser Antwort. anstelle von java-8 ist es jetzt java-11,
ansonsten

1
Danke, das hat bei mir funktioniert, weil ich eine andere Software namens OpenRefine gestartet habe. java-11-openjdk auch hier.
Nikhil VJ

Arbeitete wie ein Zauber, nahm nur einige Anpassungen vor. Es ist nicht Java-8 hier.
Alexandre Campos

21

Lies den folgenden Thread. Ich habe es geschafft, diesem Problem zu entgehen, indem ich OpenJDK 8 kopflos deinstalliert und OpenJDK 8 installiert habe.

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

Befehle, die ich ausgeführt habe:

sudo dpkg -l | grep openjdk  

Hiermit wird überprüft, ob Sie tatsächlich die kopflose Version von JAVA ausführen, sodass keine Grafikbibliothek verfügbar ist.

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

Dies dient zum Entfernen der kopflosen Version.

sudo apt-get install openjdk-8-jre

Hiermit wird eine nicht kopflose Version von Java installiert.


9

Für diejenigen, die keinen Root-Zugriff auf ihren Computern haben, um die Konfigurationsdatei zu ändern oder nicht die vollständige JRE zu installieren: Hängen Sie -Djavax.accessibility.assistive_technologies=" "an Ihren Befehl an, z

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

Beachten Sie, dass das " "wichtig ist. Wenn Sie einfach "nothing" als Parameter verwenden, wird die JRE weiterhin geladen, was auch immer eingestellt ist /etc/java-8-openjdk/accessibility.properties.


3
Das Anhängen hat sich für mich nicht gelöst. Voranstellen hat die Nachricht in Assistive Technology not found: Nicht gefolgt von geändert org.GNOME.Accessibility.AtkWrapper.
Fabio Iotti

Dies funktionierte für mich mit Ubuntu 18.04, als Java von 10 auf Version 8 zurückgesetzt wurde (da openjfx noch nicht vorkompiliert verfügbar ist). Andere in dieser Frage aufgeführte Methoden haben bei mir nicht funktioniert.
Chris Good

4

Gleicher Fehler. In meinem Fall konnte ich FastQC nicht ausführen.
Das habe ich gemacht:

$ sudo apt-get remove openjdk-11-jre-headless

Ich bestätigte, dass Java weg war

$ java -version
bash: /usr/bin/java: No such file or directory
$ sudo apt-get install openjdk-8-jre

Problem gelöst.


2

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.

Dies zwingt Ihr Programm dazu, auf openjdk-8-jre anstatt auf openjdk-11-jre zu laufen, da ich beide installiert hatte. Anscheinend läuft Java Assistive Technology nicht auf dem openjdk-11-jre-Paket. Ich glaube, es gibt auch eine Möglichkeit, anzugeben, welche Java-Version ausgeführt werden soll, aber ich weiß es nicht ganz genau und ich bin mir sicher, dass es zu diesem Thema einen weiteren Beitrag gibt.


1
Sie müssen nicht einmal openjdk-11-jdk oder openjdk-11-jre deinstallieren: askubuntu.com/questions/315646/…
karel

0

Inspiriert von Marcos Antwort, aber für mich funktioniert es nur in dieser Reihenfolge (vorab):

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

Es löste das Problem und das Programm wurde erfolgreich gestartet (in meinem Fall argouml.jar fakesmtp.jar).

Verwendung von Java 8 unter Ubuntu 2019.04

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.