Samuel Thibault, on Mon 25 Apr 2016 23:59:11 +0200, wrote:
> The source code of getDefaultToolkit seems to be the same, except that
> it also checks for running headless. Perhaps that's the test that
> fails?
I had a closer look: in
./src/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java, in
initAssistiveTechnologies(), neither
System.getProperty("javax.accessibility.assistive_technologies") nor
properties.getProperty("assistive_technologies", null)
get something, they just return null. So it seems like they don't
manage to access the property files. Stracing gives:
open("/usr/lib/jvm/java-9-openjdk-amd64/conf/accessibility.properties", O_RDONLY) = -1 ENOENT (No such file or directory)
so it looks like we are just missing symlinks from
/etc/java-9-openjdk-$arch to
/usr/lib/jvm/java-9-openjdk-$arch/conf/
and indeed,
mkdir /usr/lib/jvm/java-9-openjdk-amd64/conf
ln -s /etc/java-9-openjdk/accessibility.properties /usr/lib/jvm/java-9-openjdk-amd64/conf/
makes properties.getProperty("assistive_technologies", null) now return
org.GNOME.Accessibility.AtkWrapper
However, that actually brings another issue:
Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
at java.awt.Toolkit.newAWTError(java.desktop@9-internal/Toolkit.java:460)
which is not really surprising since there is no symlink to
/usr/share/java/java-atk-wrapper.jar and libatk-wrapper.so, as there
used to be in /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext for
openjdk-8. I tried to add them by hand
into /usr/lib/jvm/java-9-openjdk-amd64,
/usr/lib/jvm/java-9-openjdk-amd64/lib
/usr/lib/jvm/java-9-openjdk-amd64/lib/amd64
but that didn't work. Do you have an idea where we could put them?
Samuel