Вспомогательные технологии не найдены 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.

Шиванги Сингх
источник

Ответы:

128

Я столкнулся с той же ошибкой на моем сервере 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
rdrever
источник
Это лучшее решение. Работает и для 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.

danielmacho72
источник
9

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

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

Обратите внимание, что " "это важно, просто использование «none» в качестве параметра приведет к тому, что 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 пропала

$ 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 запускать, но я не знаю, как это работает, и уверен, что есть еще один пост на эту тему.

4n0m4l0u5
источник
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

Николас Рауль
источник