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

Это лучшее решение. Работает и для 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

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


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.