Teknologi bantu tidak ditemukan 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)

Kemungkinan penjelasan yang saya lihat di sini adalah menginstal Java-access-bridge. Tetapi saya tidak dapat menginstal libaccess-java-bridge.

Jawaban:


128

Saya mengalami kesalahan yang sama pada server Ubuntu 15.10 saya tetapi tidak ingin menginstal versi OpenJDK non-headless karena banyaknya dependensi tambahan. Solusi yang lebih sederhana adalah dengan menonaktifkan teknologi bantuan.

Ini dapat dilakukan dengan mengedit accessibility.propertiesfile untuk OpenJDK 8 (ubah versi yang mana yang sebenarnya digunakan pada sistem Anda):

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

Komentari baris berikut:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Anda juga dapat mengedit baris ini secara terprogram:

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

Ini solusi terbaik. Bekerja untuk android-sdk / tools / draw9patch too (Android SDK Tools)
— gorlok

Ini juga berfungsi pada Ubntu 15.10 saya untuk memperbaiki freemindyang tidak memulai sebaliknya
— rubo77

17
itu baru saja terjadi pada saya hari ini, dua setengah tahun setelah jawaban ini. alih-alih java-8 sekarang adalah java-11, selain itu, membantu saya, terima kasih
— marosg

1
Terima kasih, ini berhasil bagi saya untuk memulai perangkat lunak lain bernama OpenRefine java-11-openjdk di sini juga.
— Nikhil VJ

Bekerja seperti pesona, hanya membuat beberapa penyesuaian. Ini bukan java-8 di sini.
— Alexandre Campos

21

Baca utas berikut. Saya berhasil keluar dari masalah ini dengan menghapus OpenJDK 8 tanpa kepala dan menginstal OpenJDK 8.

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

Perintah yang saya jalankan:

sudo dpkg -l | grep openjdk  

Ini untuk memverifikasi bahwa Anda benar-benar menjalankan versi JAVA tanpa kepala, jadi tidak ada pustaka grafik yang tersedia.

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

Ini untuk menghapus versi tanpa kepala.

sudo apt-get install openjdk-8-jre

Ini untuk menginstal versi java tanpa-kepala.


9

Bagi mereka yang tidak memiliki akses root pada mesin mereka untuk mengubah file konfigurasi atau tidak ingin menginstal JRE lengkap: tambahkan -Djavax.accessibility.assistive_technologies=" "ke perintah Anda, misalnya

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

Perhatikan bahwa " "ini penting, cukup gunakan "tidak ada" sebagai parameter akan menyebabkan JRE untuk tetap memuat apa pun yang diatur /etc/java-8-openjdk/accessibility.properties.


3
Menambah tidak menyelesaikan untuk saya. Prepending mengubah pesan menjadi Assistive Technology not found: tidak diikuti oleh org.GNOME.Accessibility.AtkWrapper.
— Fabio Iotti

Ini bekerja untuk saya dengan Ubuntu 18.04 ketika java kembali ke versi 8 dari 10 (karena openjfx belum tersedia dikompilasi sebelumnya). Metode lain yang tercantum dalam pertanyaan ini tidak berhasil untuk saya.
— Chris Good

4

Masalah yang sama. Dalam kasus saya, saya tidak bisa menjalankan FastQC.
Inilah yang saya lakukan:

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

Saya memverifikasi java sudah tidak ada

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

Masalah terpecahkan.


2

Saya harus menghapus instalan openjdk-11-jre, misalnya:

sudo apt remove openjdk-11-jre

atau

sudo apt remove openjdk-11*

untuk menghapus semua paket openjdk-11 pada sistem Anda.

Ini memaksa program Anda untuk berjalan pada openjdk-8-jre, bukan openjdk-11-jre, karena saya telah menginstal keduanya. Rupanya Teknologi Java Assistive tidak berjalan pada paket openjdk-11-jre. Saya percaya ada juga cara untuk menentukan versi Java mana yang akan dijalankan, tetapi saya tidak mengetahuinya dari atas kepala saya dan saya yakin ada posting lain tentang topik itu.


1
Anda bahkan tidak perlu menghapus instalan openjdk-11-jdk atau openjdk-11-jre: askubuntu.com/questions/315646/…
— karel

0

Terinspirasi dari jawaban Marco, tetapi bagi saya itu hanya berfungsi dalam urutan ini (prepending):

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

Itu memecahkan masalah dan program berhasil diluncurkan (dalam kasus saya argouml.jar fakesmtp.jar).

Menggunakan Java 8 di Ubuntu 2019.04

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.