支援技術が見つかりません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)

私がここで見た説明は、Java-access-bridgeをインストールすることでした。しかし、インストールできませんlibaccess-java-bridge

回答:


128

Ubuntu 15.10サーバーでこの同じエラーに遭遇しましたが、追加の依存関係の数が原因で、OpenJDKの非ヘッドレスバージョンをインストールしたくありませんでした。より簡単な解決策は、支援技術を無効にすることです。

これを行うにはaccessibility.properties、OpenJDK 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ツール)
gorlok

また、これは、固定のための私のUbntu 15.10に取り組んfreemindそうでない場合は開始されませんでした
rubo77

17
この答えが出てから2年半後の今日、私にそれが起こりました。代わりのjava-8のそれは、java-11はそれ以外の、私を助けてくれ、ありがとう、今ある
marosg

1
おかげで、これはOpenRefineと呼ばれる別のソフトウェアを起動するために私のために働いた。java-11-openjdkもここにあります。
ニヒルVJ

いくつかの調整を行うだけで、魅力のように機能しました。ここでは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

これは、Javaの非ヘッドレスバージョンをインストールするためです。


9

構成ファイルを変更するためにマシン上でルートアクセス権を持っていない場合、または完全なJREをインストールしたくない場合:-Djavax.accessibility.assistive_technologies=" "コマンドに追加します。例えば

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

" "が重要であることに注意してください。単にパラメータとして「nothing」を使用すると、JREはに設定されて/etc/java-8-openjdk/accessibility.propertiesいるものをすべてロードします。


3
追記は解決しませんでした。プレペンディングにより、メッセージがにAssistive Technology not found: 続かないように変更されましたorg.GNOME.Accessibility.AtkWrapper
ファビオイオッティ

これは、javaが10からバージョン8に戻るときにUbuntu 18.04で機能しました(openjfxがプリコンパイルされていないため)。この質問に記載されている他の方法はうまくいきませんでした。
クリスグッド

4

同じ問題。私の場合、FastQCを実行できませんでした。
これは私がやったことです:

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

Javaがなくなったことを確認しました

$ 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で実行されます。これは両方ともインストールしたためです。どうやらJava Assistive Technologyはopenjdk-11-jreパッケージでは実行されないようです。どのJavaバージョンを実行するかを指定する方法もあると思いますが、頭の中でそれを知らないので、そのトピックに関する別の投稿があると確信しています。


1
:あなたも、JRE OpenJDKの-11 OpenJDKの-11-jdkのかをアンインストールする必要はありませんaskubuntu.com/questions/315646/...
カレル・

0

マルコの答えに触発されましたが、私にとっては、この順序でのみ機能します(先頭に追加):

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

問題を解決し、プログラムが正常に起動しました(私の場合、argouml.jar fakesmtp.jar)。

Ubuntu 2019.04でJava 8を使用する

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.