Os snapshots estritamente confinados normalmente não podem "ver" pastas fora do snap propriamente dito e de alguns outros locais. Existem variáveis de ambiente que apontam para as mais importantes.
Quando o snap é iniciado, o caminho é configurado corretamente para encontrar binários localizados em $ SNAP / bin, no entanto, ele não verá as coisas fora do snap, como por exemplo (no seu caso) o Java Runtime. Neste caso, você deve agrupar o jvm relevante para sua aplicação.
Isso pode ser conseguido com: -
stage-packages:
- openjdk-8-jre-headless
ou adicionando uma peça contendo o Oracle JRE, descompactado e colocado em um local relevante. Por exemplo, se você tivesse uma pasta chamada jre1.8.0_112
contendo o Oracle JRE, você poderia ter uma parte como: -
jbidwatcher:
plugin: dump
source: ./
organize:
'jre1.8.0_112': usr/lib/jvm/
Em seguida, você pode definir export JAVA_HOME=$SNAP/usr/lib/jvm
antes da execução do seu programa. Você também pode querer ter um script 'wrapper' que seja removido em $SNAP/bin
, o que configura as variáveis de ambiente acima e outras exigidas pelo seu aplicativo. Ele também pode conter a longa linha de comando, assim: -
apps:
myjavaapp:
command: $SNAP/usr/bin/launch_myjavaapp
plugs:
- network
Com uma linha na parte acima para colocar o script no lugar certo: -
jbidwatcher:
plugin: dump
source: ./
organize:
'jre1.8.0_112': usr/lib/jvm/
'launch_myjavaapp': usr/bin/