Tecnologia assistiva não encontrada AWTError

Tecnologia assistiva não encontrada 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)

As possíveis explicações que vi aqui foram instalar o Java-access-bridge. Mas não consigo instalar libaccess-java-bridge.

Responder1

Encontrei o mesmo erro em meu servidor Ubuntu 15.10, mas não queria instalar a versão sem cabeça do OpenJDK devido ao número de dependências adicionais. Uma solução mais simples foi simplesmente desativar as tecnologias assistivas.

Isso pode ser feito editando o accessibility.propertiesarquivo do OpenJDK 8 (altere a versão para aquela que estiver realmente em uso no seu sistema):

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

Comente a seguinte linha:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Além disso, você pode editar esta linha programaticamente:

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

Responder2

Leia o seguinte tópico. Consegui escapar desse problema desinstalando o OpenJDK 8 headless e instalando o OpenJDK 8.

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

Comandos que executei:

sudo dpkg -l | grep openjdk  

Isso é para verificar se você está realmente executando a versão headless do JAVA, portanto, nenhuma biblioteca de gráficos disponível.

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

Isso é para remover a versão sem cabeça.

sudo apt-get install openjdk-8-jre

Isto é para instalar a versão sem cabeça do java.

Responder3

Para aqueles que não possuem acesso root em suas máquinas para alterar o arquivo de configuração ou não desejam instalar o JRE completo: anexe -Djavax.accessibility.assistive_technologies=" "ao seu comando, por exemplo

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

Observe que isso " "é importante, simplesmente usar "nada" como parâmetro fará com que o JRE ainda carregue o que estiver definido em /etc/java-8-openjdk/accessibility.properties.

Responder4

Tive que desinstalar o openjdk-11-jre, por exemplo:

sudo apt remove openjdk-11-jre

ou

sudo apt remove openjdk-11*

para remover todos os pacotes openjdk-11 do seu sistema.

Isso força seu programa a rodar em openjdk-8-jre em vez de openjdk-11-jre, pois eu tinha ambos instalados. Aparentemente, a Java Assistive Technology não funciona no pacote openjdk-11-jre. Acredito que também exista uma maneira de especificar qual versão do Java executar, mas não sei disso de cara e tenho certeza de que há outro post sobre esse assunto.

informação relacionada