Tecnologia de assistência não encontrada 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)

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

Shiwangi Singh
fonte

Respostas:

128

Eu encontrei esse mesmo erro no meu servidor Ubuntu 15.10, mas não queria instalar a versão não decapitada do OpenJDK devido ao número de dependências adicionais. Uma solução mais simples era simplesmente desativar as tecnologias assistivas.

Isso pode ser feito editando o accessibility.propertiesarquivo do OpenJDK 8 (altere a versão para a 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
rdrever
fonte
essa é a melhor solução. Trabalha para android-sdk / ferramentas / draw9patch demais (SDK Tools Android)
Gorlok
Isso também trabalhou no meu Ubntu 15.10 para fixação freemindque não estava começando outra forma
rubo77
17
aconteceu comigo hoje, dois anos e meio depois dessa resposta. em vez de java-8 é java-11 agora, para além disso, me ajudou, obrigado
marosg
11
Obrigado, isso funcionou para mim ao iniciar outro software chamado OpenRefine. java-11-openjdk aqui também.
precisa saber é o seguinte
Funcionou como um encanto, apenas fazendo alguns ajustes. Não é java-8 aqui.
Alexandre Campos
21

Leia o seguinte tópico. Eu consegui escapar desse problema desinstalando o OpenJDK 8 sem cabeça 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 sem cabeçalho do JAVA, portanto, não há 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

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

danielmacho72
fonte
9

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

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

Observe que isso " "é importante, basta usar "nothing" como parâmetro para que o JRE ainda carregue o que estiver definido /etc/java-8-openjdk/accessibility.properties.

Marco Schuster
fonte
3
Anexar não resolveu para mim. A pré-alteração alterou a mensagem para Assistive Technology not found: não seguida por org.GNOME.Accessibility.AtkWrapper.
Fabio Iotti
Isso funcionou para mim no Ubuntu 18.04 quando o java voltou à versão 8 de 10 (porque o openjfx ainda não estava pré-compilado). Outros métodos listados nesta pergunta não funcionaram para mim.
Chris Good
4

Mesmo problema. No meu caso, não consegui executar o FastQC.
Isto é o que eu fiz:

$ sudo apt-get remove openjdk-11-jre-headless

Eu verifiquei que java se foi

$ java -version
bash: /usr/bin/java: No such file or directory
$ sudo apt-get install openjdk-8-jre

Problema resolvido.

Max Medina
fonte
2

Eu 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 no seu sistema.

Isso força o seu programa a executar no openjdk-8-jre em vez do openjdk-11-jre, como eu tinha instalado. Aparentemente, a Java Assistive Technology não roda no pacote openjdk-11-jre. Acredito que também haja uma maneira de especificar qual versão do Java será executada, mas não a conheço de cabeça e tenho certeza de que há outro post sobre esse tópico.

4n0m4l0u5
fonte
11
Você nem precisa desinstalar o openjdk-11-jdk ou o openjdk-11-jre: askubuntu.com/questions/315646/…
karel
0

Inspirado na resposta de Marco, mas para mim funciona apenas nesta ordem (anexo):

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

Ele resolveu o problema e o programa foi iniciado com sucesso (no meu caso, argouml.jar fakesmtp.jar).

Usando o Java 8 no Ubuntu 2019.04

Nicolas Raoul
fonte