未找到辅助技术 AWTError

Shi*_*ngh 100 gnome java accessibility jar system-installation

$ 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)
Run Code Online (Sandbox Code Playgroud)

我在这里看到的可能解释是安装 Java-access-bridge。但我无法安装libaccess-java-bridge.

小智 182

我在 Ubuntu 15.10 服务器上遇到了同样的错误,但由于附加依赖项的数量,我不想安装非无头版本的 OpenJDK。一个更简单的解决方案是简单地禁用辅助技术。

这可以通过编辑accessibility.propertiesOpenJDK 8的文件来完成(将版本更改为系统上实际使用的版本):

sudo vim /etc/java-8-openjdk/accessibility.properties
Run Code Online (Sandbox Code Playgroud)

注释掉以下行:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper
Run Code Online (Sandbox Code Playgroud)

您也可以以编程方式编辑此行:

sudo sed -i -e '/^assistive_technologies=/s/^/#/' /etc/java-*-openjdk/accessibility.properties
Run Code Online (Sandbox Code Playgroud)

  • 在这个答案两年半之后,今天才发生在我身上。现在不是java-8而是java-11,除此之外,帮助了我,谢谢 (20认同)

小智 32

阅读以下主题。我通过卸载 OpenJDK 8 headless 并安装 OpenJDK 8 来解决这个问题。

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

我运行的命令:

sudo dpkg -l | grep openjdk  
Run Code Online (Sandbox Code Playgroud)

这是为了验证您实际上运行的是 JAVA 的无头版本,因此没有可用的图形库。

sudo apt-get remove openjdk-8-jre-headless
Run Code Online (Sandbox Code Playgroud)

这是删除无头版本。

sudo apt-get install openjdk-8-jre
Run Code Online (Sandbox Code Playgroud)

这是安装非无头版本的java。


小智 12

对于那些在他们的机器上没有 root 访问权限来更改配置文件或不想安装完整 JRE 的人:附加-Djavax.accessibility.assistive_technologies=" "到您的命令,例如

$ java -jar aprof-plot.jar -Djavax.accessibility.assistive_technologies=" "
Run Code Online (Sandbox Code Playgroud)

请注意,这" "很重要,简单地使用“nothing”作为参数将导致 JRE 仍然加载/etc/java-8-openjdk/accessibility.properties.

  • 追加并没有为我解决。Prepending 将消息更改为 `Assistive Technology not found: ` 后面没有 `org.GNOME.Accessibility.AtkWrapper`。 (3认同)

小智 7

同样的问题。就我而言,我无法运行 FastQC。
这就是我所做的:

$ sudo apt-get remove openjdk-11-jre-headless
Run Code Online (Sandbox Code Playgroud)

我确认java不见了

$ java -version
bash: /usr/bin/java: No such file or directory
$ sudo apt-get install openjdk-8-jre
Run Code Online (Sandbox Code Playgroud)

问题解决了。