由于“未找到辅助技术”错误,无法运行 Java 应用程序(如 logisim)

由于“未找到辅助技术”错误,无法运行 Java 应用程序(如 logisim)

我尝试了一下,错误如下:

Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
at java.desktop/java.awt.Toolkit.newAWTError(Toolkit.java:472)
at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:488)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1608)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at java.desktop/java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:532)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:613)
at java.desktop/javax.swing.UIManager.getSystemLookAndFeelClassName(UIManager.java:660)
at com.cburch.logisim.gui.start.Startup.parseArgs(Startup.java:250)
at com.cburch.logisim.Main.main(Main.java:32)

错误似乎是...

导致原因:java.lang.ClassNotFoundException:org.GNOME.Accessibility.AtkWrapper 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
在 java.base/java.lang.Class.forName0(Native Method)
在 java.base/java.lang.Class.forName(Class.java:374)
在 java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:485)
... 还有 14 个

apt-cache policy logicsim logisim 的输出

logisim:
  Installed: 2.7.1~dfsg-1
  Candidate: 2.7.1~dfsg-1
  Version table:
 *** 2.7.1~dfsg-1 500
        500 http://in.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        500 http://in.archive.ubuntu.com/ubuntu bionic/universe i386 Packages
        100 /var/lib/dpkg/status
N: Unable to locate package logicsim

update-java-alternatives -l 的输出

java-1.11.0-openjdk-amd64      1101       /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64

答案1

我可以在干净的 Ubuntu 18.04 LTS 上确认您的问题。
所以我报告了错误 1788267 到 LaunchPad(目前它被标记为重复的错误 1788250也存在于 Debian 中错误 900912)。

令人难以置信的是——许多 Java 应用程序都出现故障,并且显示相同的错误java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper

更新 20180913-错误已修复。以下步骤不是必需的(它们包含在更新的包中)。


但是我们可以通过禁用内部的辅助技术来解决此问题/etc/java-11-openjdk/accessibility.properties

sudo sed -i "s/^assistive_technologies=/#&/" \
/etc/java-11-openjdk/accessibility.properties

和/或内部/etc/java-8-openjdk/accessibility.properties

sudo sed -i "s/^assistive_technologies=/#&/" \
/etc/java-8-openjdk/accessibility.properties

相关内容