
$ 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.properties
arquivo 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.