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

Reply via email to