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.