Вспомогательная технология, не найденная AWTError

$ 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. Но я не могу установить libaccess-java-bridge.

71
задан 23 August 2018 в 10:54

7 ответов

Я столкнулся с этой той же ошибкой на своем сервере 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
134
ответ дан 16 November 2019 в 00:02

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

21
ответ дан 16 November 2019 в 00:02

Вдохновленный ответом Marco, но для меня это только работает в этом порядке (предварительное ожидание):

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

Это решило проблему и программу, запущенную успешно (в моем случае argouml.jar fakesmtp.jar).

Используя Java 8 на Ubuntu 2019.04

0
ответ дан 16 November 2019 в 00:02

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

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

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

9
ответ дан 16 November 2019 в 00:02

Та же проблема. В моем случае я не мог выполнить 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

Проблема решена.

4
ответ дан 16 November 2019 в 00:02

Я должен был удалить openjdk-11-jre, например:

sudo apt remove openjdk-11-jre

или

sudo apt remove openjdk-11*

удалить все openjdk-11 пакеты в Вашей системе.

Это вынуждает Вашу программу работать на openjdk-8-jre вместо openjdk-11-jre, поскольку я оба установил. По-видимому, Java Вспомогательная Технология не работает на openjdk-11-jre пакете. Я полагаю, что существует также способ указать, какая версия Java работать, но я не знаю это первое, что пришло на ум и я уверен, существует другое сообщение по той теме.

2
ответ дан 16 November 2019 в 00:02

Ошибка такого рода возникает, если у вас установлена ​​версия JRE без заголовка. Безголовая JRE является подмножеством полной JRE, но в ней отсутствуют функции графического интерфейса, включая поддержку вспомогательных технологий.

Установите полную версию JRE (например, openjdk11-jre вместо openjdk11-jre-headless), и ошибка должна исчезнуть. Нет необходимости удалять безголовую JRE.

0
ответ дан 11 May 2020 в 16:51

Другие вопросы по тегам:

Похожие вопросы: