Tout d'abord, installez Moneydance - vous pouvez facilement télécharger un .deb
directement depuis le site web. Le package semble inclure sa propre version de Java, mais il est compilé pour les plateformes x86 et évidemment ne fonctionne pas sur le Raspberry Pi.
Nous devons donc fournir le bon JVM pour Moneydance. Le package default-jre
est en version 11, donc vous devrez installer openjdk-14-jre
et définir INSTALL4J_JAVA_HOME=/usr/lib/jvm/java-14-openjdk-arm64
- vous pouvez utiliser export
dans votre shell, ou éditer le script /opt/Moneydance/Moneydance
.
Mais malgré cela, cela ne fonctionne toujours pas :
Erreur survenue lors de l'initialisation de la couche de démarrage
java.lang.module.FindException: Module javafx.controls introuvable
Vous devez donc installer le package openjfx
. Mais pour une raison quelconque, cela place ses fichiers dans /usr/share/java
et Moneydance ne les trouve pas. Il s'avère que vous devez utiliser l'option --module-path
lors du démarrage de MD pour spécifier le bon répertoire - j'ai modifié le script Moneydance, et à la toute fin, lorsqu'il exécute $INSTALL4J_JAVA_PREFIX exec "$app_java_home/bin/java" ...
j'ai ajouté
--module-path /usr/share/java
Mais même cela ne fonctionne pas :
Erreur survenue lors de l'initialisation de la couche de démarrage
java.lang.module.FindException: Deux versions du module org.apache.commons.lang3 trouvées dans /usr/share/java (commons-lang3.jar et commons-lang3-3.11.jar)
Cela est dû au fait que ce répertoire contient des liens symboliques qui perturbent Java ; il s'agit du bug Debian 933669. Ma solution a été de créer un nouveau répertoire quelque part - j'ai utilisé /opt/Moneydance/jfx
- et d'établir un lien symbolique à partir de là vers les fichiers .jar dont nous avons besoin :
javafx-base.jar -> /usr/share/java/javafx-base.jar
javafx-controls.jar -> /usr/share/java/javafx-controls.jar
javafx-graphics.jar -> /usr/share/java/javafx-graphics.jar
javafx-swing.jar -> /usr/share/java/javafx-swing.jar
Spécifiez ce répertoire dans votre chemin de modules dans le script Moneydance :
--module-path /opt/Moneydance/jfx # ou le répertoire que vous avez utilisé
...et alors vous pourrez exécuter Moneydance.