Nie znaleziono technologii pomocniczej 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)

Możliwe wyjaśnienia, które tu zobaczyłem, to zainstalowanie mostu dostępu Java. Ale nie mogę zainstalować libaccess-java-bridge.

Shiwangi Singh
źródło

Odpowiedzi:

127

Natknąłem się na ten sam błąd na moim serwerze Ubuntu 15.10, ale nie chciałem instalować bezgłowej wersji OpenJDK z powodu liczby dodatkowych zależności. Prostszym rozwiązaniem było po prostu wyłączenie technologii asystujących.

Można to zrobić, edytując accessibility.propertiesplik dla OpenJDK 8 (zmień wersję na dowolną, która jest aktualnie używana w twoim systemie):

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

Skomentuj następujący wiersz:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Możesz także edytować ten wiersz programowo:

sudo sed -i -e '/^assistive_technologies=/s/^/#/' /etc/java-*-openjdk/accessibility.properties
rdrever
źródło
To najlepsze rozwiązanie. Działa również na Androida-SDK / Narzędzia / Draw9patch (Narzędzia Android SDK)
Gorlok
Działa to również na moim Ubntu 15.10 w celu naprawy, freemindktóra nie zaczynała się inaczej
rubo77
17
stało mi się to dzisiaj, dwa i pół roku po tej odpowiedzi. zamiast java-8 teraz jest java-11, oprócz tego pomógł mi, dziękuję
marosg
1
Dzięki, zadziałało to dla mnie z uruchomieniem innego oprogramowania o nazwie OpenRefine. java-11-openjdk tutaj również.
Nikhil VJ
Działało jak urok, po prostu wprowadzając pewne poprawki. Tu nie ma java-8.
Alexandre Campos,
21

Przeczytaj następujący wątek. Udało mi się uniknąć tego problemu, odinstalowując OpenJDK 8 bez głowy i instalując OpenJDK 8.

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

Polecenia, które uruchomiłem:

sudo dpkg -l | grep openjdk  

Ma to na celu sprawdzenie, czy faktycznie używasz bezgłowej wersji JAVA, więc nie jest dostępna biblioteka grafów.

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

Ma to na celu usunięcie wersji bezgłowej.

sudo apt-get install openjdk-8-jre

Ma to na celu zainstalowanie java w wersji bezgłowej.

danielmacho72
źródło
9

Dla tych, którzy nie mają uprawnień roota na swoich komputerach, aby zmienić plik konfiguracyjny lub nie chcą instalować pełnego środowiska JRE: dołącz -Djavax.accessibility.assistive_technologies=" "do polecenia, np.

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

Zauważ, że to " "jest ważne, po prostu użycie „niczego” jako parametru spowoduje, że środowisko JRE będzie nadal ładować wszystko, co jest ustawione /etc/java-8-openjdk/accessibility.properties.

Marco Schuster
źródło
3
Dołączanie nie rozwiązało dla mnie. Wstępne zmieniło komunikat, aby Assistive Technology not found: nie następował po nim org.GNOME.Accessibility.AtkWrapper.
Fabio Iotti
Działa to dla mnie z Ubuntu 18.04, gdy java wróciła do wersji 8 od 10 (ponieważ openjfx nie jest jeszcze dostępny w prekompilacji). Inne metody wymienione w tym pytaniu nie działały dla mnie.
Chris Good,
4

Ten sam problem. W moim przypadku nie mogłem uruchomić FastQC.
Oto co zrobiłem:

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

Sprawdziłem, że Java nie ma

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

Problem rozwiązany.

Max Medina
źródło
2

Musiałem odinstalować openjdk-11-jre, np .:

sudo apt remove openjdk-11-jre

lub

sudo apt remove openjdk-11*

aby usunąć wszystkie pakiety openjdk-11 w twoim systemie.

To zmusza twój program do uruchomienia na openjdk-8-jre zamiast openjdk-11-jre, ponieważ mam oba zainstalowane. Najwyraźniej technologia Java Assistive Technology nie działa na pakiecie openjdk-11-jre. Wydaje mi się, że istnieje również sposób na określenie, która wersja Java ma być uruchomiona, ale nie znam jej z góry i jestem pewien, że jest tam inny post na ten temat.

4n0m4l0u5
źródło
1
Nie musisz nawet odinstalowywać openjdk-11-jdk lub openjdk-11-jre: askubuntu.com/questions/315646/…
karel
0

Zainspirowany odpowiedzią Marco, ale dla mnie działa tylko w tej kolejności (wstępnej):

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

Rozwiązało problem i program uruchomił się pomyślnie (w moim przypadku argouml.jar fakesmtp.jar).

Korzystanie z Java 8 w systemie Ubuntu 2019.04

Nicolas Raoul
źródło