首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >辅助技术未找到: org.GNOME.Accessibility.AtkWrapper

辅助技术未找到: org.GNOME.Accessibility.AtkWrapper
EN

Stack Overflow用户
提问于 2018-11-04 04:41:34
回答 3查看 8K关注 0票数 7

如何解决Google中的“辅助技术未发现”错误?

我正在开发一个使用Apache的web应用程序,它在本地使用jetty和oracle jdk很好,但是当我将它部署到Google并调用我的API时,我得到了以下错误。

代码语言:javascript
复制
Caused by: 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 org.apache.batik.bridge.CursorManager.<clinit>(CursorManager.java:102)
at org.apache.batik.bridge.BridgeContext.<init>(BridgeContext.java:1162)
at org.apache.batik.bridge.BridgeContext.<init>(BridgeContext.java:292)
at org.apache.batik.transcoder.SVGAbstractTranscoder.createBridgeContext(SVGAbstractTranscoder.java:336)
at org.apache.batik.transcoder.SVGAbstractTranscoder.createBridgeContext(SVGAbstractTranscoder.java:312)

我在谷歌搜索,人们说:“这可以通过编辑accessibility.properties文件为OpenJDK 8”。

注释掉以下一行:

代码语言:javascript
复制
#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

但我正在使用谷歌应用程序引擎,我不知道我如何做到这一点?

任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-04 17:34:16

我通过动态设置系统属性来解决这个问题。

代码语言:javascript
复制
Properties props = System.getProperties();
props.setProperty("javax.accessibility.assistive_technologies", "");
票数 11
EN

Stack Overflow用户

发布于 2019-12-18 17:59:07

JDK 9通过JDK 13受到技术空列表导致异常的影响。由于遗留行为,系统类加载程序可以使用任何对系统类加载器可见的有效类名,而不是空字符串。

因此,在所有JDK版本上禁用辅助技术的一种方法是指定在构造过程中什么都不做的类:

-Djavax.accessibility.assistive_technologies=java.lang.Object

在JDK9和稍后版本中,Toolkit尊重无头属性,但这在JDK8上不起作用。

-Djava.awt.headless=true

票数 5
EN

Stack Overflow用户

发布于 2019-06-11 06:21:33

我也面临着同样的问题。

我的解决方案:

使用自定义码头图像。

在app.yaml中使用运行时自定义

代码语言:javascript
复制
runtime: custom

在src/main/docker/Dockerfile添加新文件“Dockerfile”

代码语言:javascript
复制
FROM gcr.io/google-appengine/jetty
ADD you_war_fle_name_inside_target_dir $JETTY_BASE/webapps/root.war
WORKDIR $JETTY_BASE
RUN sed -i -e '/^assistive_technologies=/s/^/#/' /etc/java-*-openjdk/accessibility.properties
RUN java -jar $JETTY_HOME/start.jar --approve-all-licenses --create-startd --add-to-start=jmx,stats,hawtio && chown -R jetty:jetty $JETTY_BASE

然后从云控制台运行以下命令。

代码语言:javascript
复制
mvn package -DskipTests appengine:deploy
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53137802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档