Tecnologia assistiva non trovata 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)

Le possibili spiegazioni che ho visto qui sono state quelle di installare Java-Access-Bridge. Ma non riesco a installare libaccess-java-bridge.

Risposte:


128

Ho riscontrato questo stesso errore sul mio server Ubuntu 15.10 ma non volevo installare la versione senza testa di OpenJDK a causa del numero di dipendenze aggiuntive. Una soluzione più semplice era semplicemente disabilitare le tecnologie assistive.

Questo può essere fatto modificando il accessibility.propertiesfile per OpenJDK 8 (cambia la versione a quella che è attualmente in uso sul tuo sistema):

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

Commenta la seguente riga:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Inoltre puoi modificare questa riga a livello di codice:

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

Questa è la soluzione migliore Funziona anche con android-sdk / tools / draw9patch (Android SDK Tools)
gorlok

Questo ha funzionato anche sul mio Ubntu 15.10 per riparazioni freemindche non stavano iniziando altrimenti
rubo77

17
mi è appena successo oggi, due anni e mezzo dopo questa risposta. invece di java-8 è java-11 oggi, a parte questo, mi ha aiutato, grazie
marosg

1
Grazie, questo ha funzionato per me per l'avvio di un altro software chiamato OpenRefine. java-11-openjdk anche qui.
Nikhil VJ,

Ha funzionato come un fascino, apportando solo alcune modifiche. Non è java-8 qui.
Alexandre Campos,

21

Leggi la seguente discussione. Sono riuscito a evitare questo problema disinstallando OpenJDK 8 senza testa e installando OpenJDK 8.

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

Comandi che ho eseguito:

sudo dpkg -l | grep openjdk  

Questo per verificare che stai effettivamente eseguendo la versione senza testa di JAVA, quindi nessuna libreria di grafici disponibile.

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

Questo per rimuovere la versione senza testa.

sudo apt-get install openjdk-8-jre

Questo per installare la versione senza testa di java.


9

Per coloro che non dispongono dell'accesso root sui propri computer per modificare il file di configurazione o non desiderano installare il JRE completo: aggiungi -Djavax.accessibility.assistive_technologies=" "al tuo comando, ad es.

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

Si noti che " "è importante, semplicemente usando "niente" come parametro farà sì che JRE carichi ancora tutto ciò che è impostato /etc/java-8-openjdk/accessibility.properties.


3
L'aggiunta non ha risolto per me. Prepending ha modificato il messaggio in Assistive Technology not found: non seguito da org.GNOME.Accessibility.AtkWrapper.
Fabio Iotti,

Questo ha funzionato per me con Ubuntu 18.04 quando java è tornato alla versione 8 dalla 10 (perché openjfx non è ancora disponibile precompilato). Altri metodi elencati in questa domanda non hanno funzionato per me.
Chris Good,

4

Stesso problema. Nel mio caso non ho potuto eseguire FastQC.
Questo è quello che ho fatto:

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

Ho verificato che Java non c'era più

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

Problema risolto.


2

Ho dovuto disinstallare openjdk-11-jre, ad esempio:

sudo apt remove openjdk-11-jre

o

sudo apt remove openjdk-11*

per rimuovere tutti i pacchetti openjdk-11 dal tuo sistema.

Questo costringe il tuo programma a funzionare su openjdk-8-jre invece che su openjdk-11-jre, come avevo installato entrambi. Apparentemente Java Assistive Technology non funziona sul pacchetto openjdk-11-jre. Credo che ci sia anche un modo per specificare quale versione di Java eseguire, ma non lo so dalla cima della mia testa e sono sicuro che ci sia un altro post su quell'argomento.


1
Non è nemmeno necessario disinstallare openjdk-11-jdk o openjdk-11-jre: askubuntu.com/questions/315646/…
karel,

0

Ispirato alla risposta di Marco, ma per me funziona solo in questo ordine (antepone):

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

Ha risolto il problema e il programma è stato avviato con successo (nel mio caso argouml.jar fakesmtp.jar).

Utilizzo di Java 8 su Ubuntu 2019.04

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.