보조 기술을 찾을 수 없습니다


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.

답변:


127

Ubuntu 15.10 서버에서 이와 동일한 오류가 발생했지만 추가 종속성 수로 인해 헤드리스 버전이 아닌 OpenJDK를 설치하고 싶지 않았습니다. 더 간단한 해결책은 보조 기술을 단순히 비활성화하는 것입니다.

accessibility.propertiesOpenJDK 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도 여기에 있습니다.
Nikhil VJ

약간의 조정만으로도 매력처럼 작동했습니다. 여기는 Java-8이 아닙니다.
Alexandre Campos

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=" "

(가) 있습니다 마십시오 " "단순히 아직 설정되어 어떤로드 JRE의 원인이됩니다 매개 변수로 "아무것도"를 사용하지 않고, 중요하다 /etc/java-8-openjdk/accessibility.properties.


3
Appending은 나를 위해 해결하지 못했습니다. 앞에 추가하면 메시지가 Assistive Technology not found: 다음에 표시 되지 않음으로 변경 되었습니다 org.GNOME.Accessibility.AtkWrapper.
Fabio Iotti

java가 10에서 버전 8로 다시 설정되면 Ubuntu 18.04에서 나에게 도움이되었습니다 (openjfx를 아직 사전 컴파일 할 수 없기 때문에). 이 질문에 나열된 다른 방법으로는 효과가 없었습니다.
Chris Good

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
openjdk-11-jdk 또는 openjdk-11-jre를 제거 할 필요도 없습니다 : askubuntu.com/questions/315646/…
karel

0

Marco의 답변에서 영감을 얻었지만 나에게는이 순서 대로만 작동합니다.

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.