Допоміжну технологію не знайдено 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)

Можливі пояснення, які я бачив тут, - це встановити Java-access-bridge. Але я не можу встановити libaccess-java-bridge.

Відповіді:


127

Я зіткнувся з цією самою помилкою на моєму сервері Ubuntu 15.10, але не хотів встановлювати безголову версію OpenJDK через кількість додаткових залежностей. Більш простим рішенням було просто відключити допоміжні технології.

Це можна зробити, відредагувавши accessibility.propertiesфайл для OpenJDK 8 (змінити версію на ту, яка фактично використовується у вашій системі):

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

Прокоментуйте наступний рядок:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Також ви можете редагувати цей рядок програмно:

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

Це найкраще рішення. Працює і для android-sdk / tools / draw9patch (Android SDK Tools)
gorlok

Це також працювало на моєму Ubntu 15.10, щоб виправити freemindте, що не починалося інакше
rubo77

17
це просто сталося зі мною сьогодні, через два з половиною роки після цієї відповіді. замість java-8 це java-11 зараз, крім цього, допомогло мені, дякую
marosg

1
Дякую, це працювало для мене запускаючи інше програмне забезпечення під назвою OpenRefine. java-11-openjdk також тут.
Nikhil VJ

Працював як шарм, просто вносив деякі корективи. Тут не java-8.
Олександр Кампос

21

Прочитайте наступну нитку. Мені вдалося уникнути цієї проблеми, видаливши OpenJDK 8 без голови і встановивши OpenJDK 8.

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

Команди, якими я керував:

sudo dpkg -l | grep openjdk  

Це потрібно для перевірки того, що ви справді використовуєте безголову версію JAVA, тому бібліотека графіків не доступна.

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

Це для видалення безголової версії.

sudo apt-get install openjdk-8-jre

Це для встановлення безголової версії Java.


9

Для тих, хто не має кореневого доступу на своїх машинах, щоб змінити файл конфігурації або не хочуть встановлювати повний JRE: додайте -Djavax.accessibility.assistive_technologies=" "до вашої команди, наприклад

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

Зверніть увагу, що " "важливо, що просто використання параметра "нічого" не призведе до того, що JRE все ще завантажує все, що встановлено /etc/java-8-openjdk/accessibility.properties.


3
Звернення не вирішило для мене. Попередньо змінивши повідомлення, його Assistive Technology not found: не слідкувати org.GNOME.Accessibility.AtkWrapper.
Фабіо Йотті

Це працювало для мене з Ubuntu 18.04, коли Java повернулася до версії 8 з 10 (тому що openjfx ще не доступний до компіляції). Інші методи, перелічені в цьому питанні, для мене не спрацювали.
Кріс Гуд

4

Те саме питання. У моєму випадку я не міг запустити FastQC.
Ось що я зробив:

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

Я перевірив, що ява зник

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

Проблема вирішена.


2

Мені довелося видалити openjdk-11-jre, наприклад:

sudo apt remove openjdk-11-jre

або

sudo apt remove openjdk-11*

щоб видалити всі пакети openjdk-11 у вашій системі.

Це змушує вашу програму працювати на openjdk-8-jre замість openjdk-11-jre, як я встановив обидва. Очевидно, що Java Assistive Technology не працює у пакеті openjdk-11-jre. Я вважаю, що є також спосіб вказати, яку версію Java запускати, але я не знаю її вгорі голови, і я впевнений, що є ще одна публікація на цю тему.


1
Вам навіть не потрібно видаляти openjdk-11-jdk або openjdk-11-jre: askubuntu.com/questions/315646/…
karel

0

Натхненний відповіддю Марко, але для мене він працює лише в такому порядку (попередньо):

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

Це вирішило проблему, і програма успішно запустилася (у моєму випадку argouml.jar fakesmtp.jar).

Використання Java 8 на Ubuntu 2019.04

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.