
$ 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)
Las posibles explicaciones que vi aquí fueron instalar Java-access-bridge. Pero no puedo instalar libaccess-java-bridge
.
Respuesta1
Me encontré con el mismo error en mi servidor Ubuntu 15.10 pero no quería instalar la versión sin cabeza de OpenJDK debido a la cantidad de dependencias adicionales. Una solución más sencilla era simplemente desactivar las tecnologías de asistencia.
Esto se puede hacer editando el accessibility.properties
archivo para OpenJDK 8 (cambie la versión a la que esté realmente en uso en su sistema):
sudo vim /etc/java-8-openjdk/accessibility.properties
Comente la siguiente línea:
#assistive_technologies=org.GNOME.Accessibility.AtkWrapper
También puedes editar esta línea mediante programación:
sudo sed -i -e '/^assistive_technologies=/s/^/#/' /etc/java-*-openjdk/accessibility.properties
Respuesta2
Lee el siguiente hilo. Logré escapar de este problema desinstalando OpenJDK 8 sin cabeza e instalando OpenJDK 8.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798794
Comandos que ejecuté:
sudo dpkg -l | grep openjdk
Esto es para verificar que realmente está ejecutando la versión sin cabeza de JAVA, por lo que no hay una biblioteca de gráficos disponible.
sudo apt-get remove openjdk-8-jre-headless
Esto es para eliminar la versión sin cabeza.
sudo apt-get install openjdk-8-jre
Esto es para instalar una versión sin cabeza de Java.
Respuesta3
Para aquellos que no tienen acceso root en sus máquinas para cambiar el archivo de configuración o no quieren instalar el JRE completo: agregue -Djavax.accessibility.assistive_technologies=" "
a su comando, por ejemplo
$ java -jar aprof-plot.jar -Djavax.accessibility.assistive_technologies=" "
Tenga en cuenta que esto " "
es importante, simplemente usar "nada" como parámetro hará que JRE aún cargue lo que esté configurado en /etc/java-8-openjdk/accessibility.properties
.
Respuesta4
Tuve que desinstalar openjdk-11-jre, por ejemplo:
sudo apt remove openjdk-11-jre
o
sudo apt remove openjdk-11*
para eliminar todos los paquetes openjdk-11 de su sistema.
Esto obliga a que su programa se ejecute en openjdk-8-jre en lugar de openjdk-11-jre, ya que tenía ambos instalados. Aparentemente, la tecnología de asistencia Java no se ejecuta en el paquete openjdk-11-jre. Creo que también hay una manera de especificar qué versión de Java ejecutar, pero no lo sé de memoria y estoy seguro de que hay otra publicación sobre ese tema.