web-dev-qa-db-ja.com

支援技術が見つかりませんAWTError

$ 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をインストールできません。

70
Shiwangi Singh

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

これを行うには、OpenJDK 8のaccessibility.propertiesファイルを編集します(システムで実際に使用されているバージョンに変更します)。

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
126
rdrever

次のスレッドを読んでください。 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の非ヘッドレスバージョンをインストールするためです。

20
danielmacho72

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

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

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

8
Marco Schuster

同じ問題。私の場合、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

問題が解決しました。

4
Max Medina

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バージョンを実行するかを指定する方法もあると思いますが、頭上でそれを知らないので、そのトピックに関する別の投稿があると確信しています。

2
4n0m4l0u5

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

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

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

Ubuntu 2019.04でJava 8を使用する

0
Nicolas Raoul