Hopefully this helps someone using Moneydance Personal Finance with the recent Java 21 changes.
The following posts did not help to fully resolve my issues with Moneydance:
https://archlinux.org/news/incoming-changes-in-jdk-jre-21-packages-may-require-manual-intervention/
Moneydance adds its own dependency:
$ sudo pacman -Sy jdk-openjdk
resolving dependencies...
looking for conflicting packages...
:: jdk-openjdk and jre-openjdk are in conflict. Remove jre-openjdk? [y/N] y
:: jdk-openjdk and jre-openjdk-headless are in conflict. Remove jre-openjdk-headless? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing jre-openjdk breaks dependency 'jre-openjdk' required by moneydance
Tried to remove them for now…
$ sudo pacman -R jre-openjdk-headless jre-openjdk moneydance
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing jre-openjdk breaks dependency 'jre21-openjdk=21.u35-3' required by jdk-openjdk
Add that one to the list:
$ sudo pacman -R jre-openjdk-headless jre-openjdk moneydance jdk-openjdk
...
Packages (4) jdk-openjdk-21.u35-3 jre-openjdk-21.u35-3 jre-openjdk-headless-21.u35-3 moneydance-2023.5005-1
:: Do you want to remove these packages? [Y/n] Y
Process the full system update… however you choose, I did:
$ pamac upgrade
Add back Moneydance:
$ pamac install moneydance
Warning: moneydance is only available from AUR
Preparing...
Cloning moneydance build files...
Generating moneydance information...
Checking moneydance dependencies...
Resolving dependencies...
Checking inter-conflicts...
To install (1):
jre-openjdk 21.u35-8 (Required By: moneydance) extra 31.8 MB
To build (1):
moneydance 2023.1.5006-1 AUR
Total download size: 31.8 MB
Total installed size: 160.4 MB
Edit build files : [e]
Apply transaction ? [e/y/N] y
- Reboot
Try to run Moneydance - nothing happens, try it from CLI:
$ moneydance
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp -Dawt.useSystemAAFontSettings=on
Error: LinkageError occurred while loading main class Moneydance
java.lang.UnsupportedClassVersionError: Moneydance has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
Probably defaulting to an older version of Java still…
$ archlinux-java status
Available Java environments:
java-11-openjdk (default)
java-21-openjdk
Set newer one as default:
$ sudo archlinux-java set java-21-openjdk
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
For security reasons, the password you type will not be visible.
Try Moneydance… fires right up.