Hi! I am trying to snap and old app of mine as a snap. A digital circuits simulator I wrote back in university. It is a simple snap. So, after reading a while I wrote this
name: vsim
base: core18
version: '0.9.0'
summary: Vsim is digital circuits simulator written in java
description: |
Vsim is a digital circuits simulator written in java.
grade: devel
confinement: devmode
apps:
vsim:
command: bin/start.sh
plugs: [home, x11]
parts:
vsim:
plugin: dump
source: .
organize:
'build/libs/vsim.jar': bin/
'start.sh': bin/
build-packages:
- ca-certificates
- ca-certificates-java
stage-packages:
- openjdk-8-jre
- openjdk-8-jre-headless
- gtk2-engines-murrine
- hicolor-icon-theme
But, when I try it, it starts to throw errors about “/etc/fonts/fonts.conf”
java.io.IOException: Cannot run program "/usr/bin/xprop": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:621)
at java.lang.Runtime.exec(Runtime.java:451)
at java.lang.Runtime.exec(Runtime.java:348)
at org.GNOME.Accessibility.AtkWrapper.<clinit>(AtkWrapper.java:37)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:805)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:886)
at javax.swing.JFileChooser.installShowFilesListener(JFileChooser.java:396)
at javax.swing.JFileChooser.setup(JFileChooser.java:364)
at javax.swing.JFileChooser.<init>(JFileChooser.java:343)
at javax.swing.JFileChooser.<init>(JFileChooser.java:296)
at cl.almejo.vsim.gui.SimWindow.<clinit>(SimWindow.java:142)
at cl.almejo.vsim.Main.<init>(Main.java:44)
at cl.almejo.vsim.Main.main(Main.java:79)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 18 more
Fontconfig warning: "/etc/fonts/fonts.conf", line 5: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/fonts.conf", line 6: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'version'
Fontconfig error: Cannot load config file from /etc/fonts/fonts.conf
Exception in thread "main" java.lang.Error: Probable fatal error:No fonts found.
It seems that is my systems fonts.conf file. Shouldnt it use the snap fonts.conf file?
What is the “official” way to snap a java jar app? I read about a jre plugin, but it seems to be deprecated.
(In the future I plan to use the gradle plugin, maybe it solves my problem, but what if I want to snap a simple jar?)
Thanks