Seite 2 von 3
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Mittwoch 20. November 2024, 17:14
von mathias_ocm
mathias_ocm hat geschrieben: Mittwoch 20. November 2024, 16:59
Wenn ich den SMB-Share als Arbeitsverzeichnis wähle, gibt es einen weiteren Fehler und ein Start von Jameica ist nicht möglich:
Code: Alles auswählen
de.willuhn.jameica.system.JameicaException: java.io.IOException: Operation not supported
at de.willuhn.jameica.services.LockService.init(LockService.java:116)
at de.willuhn.boot.BootLoader.resolve(BootLoader.java:139)
at de.willuhn.boot.BootLoader.resolve(BootLoader.java:119)
at de.willuhn.boot.BootLoader.getBootable(BootLoader.java:70)
at de.willuhn.jameica.system.Application.init(Application.java:103)
at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: java.io.IOException: Operation not supported
at java.base/sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
at java.base/sun.nio.ch.FileDispatcherImpl.lock(Unknown Source)
at java.base/sun.nio.ch.FileChannelImpl.tryLock(Unknown Source)
at java.base/java.nio.channels.FileChannel.tryLock(Unknown Source)
at de.willuhn.jameica.services.LockService.init(LockService.java:87)
... 6 more
Ich vermute, dass es mit der unter MacOS doch etwas penibleren Einhaltung von Zugriffsrechten zu tun hat.
Kleiner Nachtrag: Als Ziel/Quelle von (jameica) Backups kann man ein SMB-Share ohne Probleme verwenden. Nur nicht als Benutzerorder

Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Mittwoch 20. November 2024, 17:20
von hibiscus
Beim Backup ist ja auch kein File Locking nötig.
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Mittwoch 20. November 2024, 21:01
von lenilsas
Ich versuche herauszufinden was hier der Unterschied zu den anderen Views ist.
Kannst du schauen ob der Fehler auch auftritt wenn du in den Einstellungen "Arbeitseinsätze" deaktiviert hast und "Geburtsdatum Pflichtfeld" deaktivierst?
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Mittwoch 20. November 2024, 21:31
von lenilsas
Ich habe gerade gefunden, dass der BUG in SWT anscheinend behoben wurde (
https://github.com/eclipse-platform/ecl ... issues/472), dafür müsste die neue swt Version installiert werden.
Unter
https://download.eclipse.org/eclipse/do ... 411131800/ kannst du ganz unten die passende Version aussuchen und in deinen Programordner jameica/lib/swt/macos64 verschieben und die dort vorhandene Datei ersetzen (besser umbenennen).
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Donnerstag 21. November 2024, 20:10
von mathias_ocm
lenilsas hat geschrieben: Mittwoch 20. November 2024, 21:01
Ich versuche herauszufinden was hier der Unterschied zu den anderen Views ist.
Kannst du schauen ob der Fehler auch auftritt wenn du in den Einstellungen "Arbeitseinsätze" deaktiviert hast und "Geburtsdatum Pflichtfeld" deaktivierst?
Das scheint keinen Einfluss auf den Fehler zu haben.
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Donnerstag 21. November 2024, 20:26
von mathias_ocm
Danke für den Hinweis, aber ganz so einfach ist es wohl nicht. Nach dem Ersetzen der swt.jar startet jameica gar nicht mehr, nicht mal mit Fehlermeldung. Ich schätze, ich muss das ganze Projekt mit der neuen Version der swt neu kompilieren. Aber dazu müsste ich erst mal Eclipse installieren. Vielleicht versuche ich das mal am Wochenende, aber jetzt habe ich dafür keine Zeit.
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Freitag 22. November 2024, 07:08
von hibiscus
Aktuelle SWT-Versionen erfordern mindestens Java 17.
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Donnerstag 28. November 2024, 21:07
von mathias_ocm
hibiscus hat geschrieben: Freitag 22. November 2024, 07:08
Aktuelle SWT-Versionen erfordern mindestens Java 17.
Da kommen wir dem Problem näher:
Das Startscript von jameica für MacOS ist mit einer internen, embedded Java-Version vorkonfiguriert:
Code: Alles auswählen
## Wir verwenden generell nur noch die embedded Java-Version unter MacOS
JAVACMD="${BASEDIR}/jre-macos64/Contents/Home/bin/java"
exec "${JAVACMD}" -Dsun.security.smartcardio.library=/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC -Xdock:name="Jameica" -Xmx512m -Xss64m -XstartOnFirstThread -jar "${BASEDIR}/jameica-macos64.jar" -o "$@" >/dev/null
Diese scheint deutlich älter zu sein (sofern die Versionsnummer der embedded, OpenJDK Java-Version überhaupt mit der Versionsnummer der Java(TM) SE JRE vergleichbar ist), die unter MacOS standardmäßig installiert ist und automatisch aktualisiert wird:
Code: Alles auswählen
mathias@Mac-mini bin % java -version
java version "23.0.1" 2024-10-15
Java(TM) SE Runtime Environment (build 23.0.1+11-39)
Java HotSpot(TM) 64-Bit Server VM (build 23.0.1+11-39, mixed mode, sharing)
mathias@Mac-mini bin % ./java -version
openjdk version "11.0.18" 2023-01-17
OpenJDK Runtime Environment Temurin-11.0.18+10 (build 11.0.18+10)
OpenJDK 64-Bit Server VM Temurin-11.0.18+10 (build 11.0.18+10, mixed mode)
Ich werde mal experimentieren, was passiert, wenn ich nicht die embedded Version verwende bzw. ob ich die embedded Version irgendwie aktualisieren kann. Wird ja einen Grund geben, warum unter MacOS die embedded Verison genutzt wird.
Wobei sich mir da schon wieder der Gedanke aufdrängt, dass das ganze für eine Buchhaltungssoftware sehr hardwarenah programmiert zu sein scheint. Eigentlich sollten die diversen Java Runtime Environments ja kompatibel mit beliebigem Java-Code sein.
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Donnerstag 28. November 2024, 21:36
von mathias_ocm
mathias_ocm hat geschrieben: Donnerstag 28. November 2024, 21:07
Ich werde mal experimentieren, was passiert, wenn ich nicht die embedded Version verwende bzw. ob ich die embedded Version irgendwie aktualisieren kann. Wird ja einen Grund geben, warum unter MacOS die embedded Verison genutzt wird.
Also wenn man die nicht embedded Java version verwendet und die swt.jar wie oben beschrieben austauscht, funktioniert der Dialog zum Erstellen/Editieren von Beitragsgruppen auch unter MacOS
Mir sind jetzt auch erstmal sonst keine Probleme aufgefallen: Abrufen von Umsätzen über Hibiscus, Bearbeiten von Buchungen in JVerein, inklusive Dokumentablage über DMS und Mail-Versand inkl. PDF-Anlagen scheint alles noch zu klappen. Ich lasse es jetzt erst mal so und beobachte weiter!
Falls noch jemandem hier einfällt, warum unter MacOS standardmäßig die embedded Java-Version genutzt wird, wäre ich für Hinweise dankbar ...
Re: Fehler (NullPointerException) beim Erstellen neuer Beitragsgruppen
Verfasst: Donnerstag 28. November 2024, 21:40
von lenilsas
Danke für deine Rückmeldung und toll das es klappt.
Warum die Embedet Version verwendet wir, kann nur Olaf beantworten