सहायक तकनीक को 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)

संभावित स्पष्टीकरण मैंने यहां देखा कि जावा-एक्सेस-ब्रिज स्थापित करना था। लेकिन मैं स्थापित करने में असमर्थ हूं libaccess-java-bridge

जवाबों:


127

मैं अपने Ubuntu 15.10 सर्वर पर इसी त्रुटि में भाग गया, लेकिन अतिरिक्त निर्भरता की संख्या के कारण OpenJDK के गैर-हेडलेस संस्करण को स्थापित नहीं करना चाहता था। एक सरल उपाय केवल सहायक तकनीकों को अक्षम करना था।

यह accessibility.propertiesOpenJDK 8 के लिए फ़ाइल को संपादित करके किया जा सकता है (संस्करण को जो भी आपके सिस्टम में वास्तव में उपयोग में है, उसे बदलें):

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

निम्नलिखित लाइन पर टिप्पणी करें:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

साथ ही आप इस लाइन को प्रोग्रामेटिक रूप से एडिट कर सकते हैं:

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

यह सबसे अच्छा उपाय है। Android-sdk / tools / draw9patch के लिए भी काम करता है (Android SDK Tools)
gorlok

यह भी फिक्सिंग के लिए मेरे Ubntu 15.10 पर काम किया freemindहै कि अन्यथा शुरू नहीं किया गया था
rubo77

17
यह मेरे लिए आज ही हुआ, इस उत्तर के ढाई साल बाद। java-8 के बजाय यह java-11 है, इसके अलावा, मेरी मदद की, धन्यवाद
marosg

1
धन्यवाद, यह मेरे लिए OpenRefine नामक एक अन्य सॉफ़्टवेयर शुरू करने के लिए काम किया। जावा-11-ओपजदक यहाँ भी।
निखिल वीजे

एक आकर्षण की तरह काम किया, बस कुछ समायोजन किया। यह यहाँ java-8 नहीं है।
अलेक्जेंड्रे कैम्पोस

21

निम्नलिखित सूत्र पढ़ें। मैं OpenJDK 8 की स्थापना रद्द करके और OpenJDK 8 की स्थापना करके इस समस्या से बचने में सफल रहा।

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

मेरे द्वारा चलाए गए कमांड:

sudo dpkg -l | grep openjdk  

यह सत्यापित करने के लिए है कि आप वास्तव में JAVA का मुख्य संस्करण चला रहे हैं, इसलिए कोई ग्राफ़ लाइब्रेरी उपलब्ध नहीं है।

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

यह हेडलेस वर्जन को हटाना है।

sudo apt-get install openjdk-8-jre

यह जावा के गैर-हेडलेस संस्करण को स्थापित करना है।


9

उन लोगों के लिए जिनके पास कॉन्फ़िगरेशन फ़ाइल को बदलने के लिए अपनी मशीनों पर रूट एक्सेस नहीं है या पूर्ण JRE इंस्टॉल नहीं करना चाहते हैं: -Djavax.accessibility.assistive_technologies=" "अपने आदेश में संलग्न करें, जैसे।

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

ध्यान दें कि " "महत्वपूर्ण है, बस "कुछ भी नहीं" का उपयोग करते हुए पैरामीटर जेआरई को अभी भी जो भी सेट है उसे लोड करने का कारण होगा /etc/java-8-openjdk/accessibility.properties


3
लागू करने से मेरे लिए हल नहीं हुआ। पीछे चल रहे संदेश Assistive Technology not found: ने उसके बाद नहीं बदलने का संदेश दिया org.GNOME.Accessibility.AtkWrapper
Fabio Iotti

इसने मेरे लिए उबंटू 18.04 के साथ काम किया जब जावा ने 10 से संस्करण 8 में वापस सेट किया (क्योंकि ओपनजैफ अभी तक उपलब्ध नहीं है)। इस प्रश्न में सूचीबद्ध अन्य विधियां मेरे लिए कारगर नहीं थीं।
क्रिस गुड

4

वही मुद्दा। मेरे मामले में मैं FastQC नहीं चला सकता।
यह जो मैंने किया है:

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

मैंने सत्यापित किया कि जावा चला गया था

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

समस्या सुलझ गयी।


2

मुझे Openjdk-11-jre की स्थापना रद्द करनी थी, जैसे:

sudo apt remove openjdk-11-jre

या

sudo apt remove openjdk-11*

अपने सिस्टम पर सभी Openjdk-11 संकुल को निकालने के लिए।

यह आपके प्रोग्राम को Openjdk-11-jre के बजाय Openjdk-8-jre पर चलाने के लिए मजबूर करता है, जैसा कि मैंने दोनों को स्थापित किया है। जाहिरा तौर पर जावा सहायक प्रौद्योगिकी Openjdk-11-jre पैकेज पर नहीं चलती है। मेरा मानना ​​है कि जावा संस्करण को चलाने के लिए निर्दिष्ट करने का एक तरीका भी है, लेकिन मैं इसे अपने सिर के ऊपर से नहीं जानता और मुझे यकीन है कि इस विषय पर एक और पोस्ट है।


1
आपको Openjdk-11-jdk या openjdk-11-jre की स्थापना रद्द करने की आवश्यकता नहीं है: askubuntu.com/questions/315646/…
karel

0

मार्को के जवाब से प्रेरित है, लेकिन मेरे लिए यह केवल इस क्रम में काम करता है (पूर्व-निर्धारित):

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

इसने समस्या को हल किया और कार्यक्रम सफलतापूर्वक लॉन्च हुआ (मेरे मामले में argouml.jar fakesmtp.jar)।

Ubuntu 2019.04 पर जावा 8 का उपयोग करना

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.