Tecnología de asistencia no encontrada AWTError

Tecnología de asistencia no 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)

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.propertiesarchivo 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.

información relacionada