JOSM auf MANJARO

Hi, nutzt hier noch jemand MANJARO (stable) und kann bestätigen, dass JOSM aktuell dort nicht mehr out of the box funktioniert?

Was problemlos geht ist der manuelle Aufruf: java -jar /usr/share/java/josm/josm.jar

Hi Chris,

vielleicht fragst Du
https://wiki.openstreetmap.org/wiki/User:Itchybellybutton
mal an. Er nutzt Manjaro und JOSM

Gruß
dx125

Hallo,

Ja.

Kommt darauf an, was ich installiert hatte:

  • Mit dem repository-Paket. derzeit 1872-1, hatte ich diese Probleme,
  • mit den JAVA-Aufruf java -jar ... /josm.jar eines von JOSM heruntergeladenen Paketes funktionierte mal und mal wieder nicht.
  • Derzeit nutze ich das AUR-Paket JOSM stable 22-04.1 ohne irgendwelche Probleme.

Grundsätzlich finde ich störend, dass die verfügbaren “stable”-Pakete (also außer latest) recht alt sind, gemäß ChangeLog derzeit zwei Versionen hinterher.

Hier die Fehlermeldung:

$ josm
Using /usr/bin/java to execute josm.
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.web not found

Vielleicht wurde das Modul in JAVA 20 entfernt, aber wie gesagt, manuell gehts ja.

Aus /usr/bin/josm:

JAVAFX_HOME="${JAVAFX_HOME:-/usr/share/openjfx/lib}"

Das Verzeichnis gibt es gar nicht.

#!/bin/bash
# Simple wrapper script used to start JOSM in Debian

Ähem, statt mit diesem unverständlichen 100 Zeilen-Skript geht es simple mit dem oben genannten Einzeiler. :wink:

Gelöst durch Patchen des /usr/bin/josm Skripts:

  • Hinzufügen der fehlenden Java-Versionen 19 und 20
  • Auskommentieren des JavaFX Geraffels.
1 Like

Ich bin auch auf Manjaro und nutze ohne Probleme die josm.jnlp der JOSM Website. Dadurch habe ich immer die aktuelle stabile Version. Installiert ist bei mir Java 17 und 20, nützliche Informationen dazu finden sich im Arch Wiki (Java - ArchWiki). JOSM läuft bei mir mit Java 17.

Ja warum kompliziert wenn es auch einfach geht :smiley:

Ich hab schon lange ein eigenes Skript zum starten von Josm… um mit bstimmten Java-Versionen zu starten… mehr Speicher JOSM zuzuweisen (-Xmx12000M) … wegen großen Shape-Dateien usw. in fast 15 Jahren kommt einiges vor :wink:

Ja, danke, ist auch nur mein Zweitlaptop. Hatte mich halt gewundert, weil ja angeblich im stable-Repo nur getestetes Zeug landet. :wink:

Gleiche Fehlermeldung in Debian 12. Ich vermute mal, das ist das gleiche Skript. Es startet JOSM mit java17 openjdk, was im Prinzip auch funktioniert. Es versucht dann aber über die Optionen noch Module aus JavaFX dazuzuladen, wie zB das javafx.web. JavaFX ist aber gar nicht installiert und gibt es in Version 17 auch gar nicht, nur in Version 11.

Daher meine Frage: wozu braucht man diese Module? Das Auskommentieren macht die Sache zwar brauchbar, aber die Module werden doch einen Sinn haben.

Es gibt plugins, die diese Module brauchen.

Es gibt JavaFX für Version 17. Wie das Paket unter Debian heißt, weiß ich nicht, aber unter Fedora ist es einfach openjfx. Damit geht das alles ganz problemlos :slight_smile:
Allerdings nehme ich schon ewig ein eigenes Startscript mit eigenen Optionen. Kann also sein, dass es mit dem Standard-Kram nicht mehr geht.

In Debian 12 gibts das aber nicht. Ich hab jetzt die fehlenden Dateien von der JavaFX Webseite runtergeladen und frech in das angegebene Verzeichnis kopiert. Das sind auch nur jar Dateien und es gibt dort auch andere Versionen. Ok, das ist wenig elegant, aber es scheint zu funktionieren bis es hoffentlich bald eine offizielle Lösung gibt.

HI,
unter Manjaro hab ich JOSM auch nicht richtig zum laufen bekommen, deswegen bin ich dann ganz auf Arch umgestiegen.
Genutzte Java version ist die 17

java --version
openjdk 17.0.8 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7)
OpenJDK 64-Bit Server VM (build 17.0.8+7, mixed mode)

Da ich dazu noch einen 28’ 4K Monitor habe lasse ich JOSM immer über ein Script starten damit ich überhaupt was sehen kann. Ohne dem Script ist die Schrift halt sehr klein, aber auch da würde JOSM aus den Arch Paketquellen funktionieren.
Script holt JOSM von der Seite, falls es ein neueres gibt wird dieses geholt.

#!/bin/sh
# ./josm.sh
#
# Variablen müssen angepasst werden
verzeichnis=/home/benutzer/y-sources/josm
josm=josm-tested.jar

# wechsel ins Arbeitsverzeichnis
cd $verzeichnis
echo "Wir sind im Arbeitsverzeichnis"
pwd
# Datei holen
wget -N https://josm.openstreetmap.de/$josm

# Programm starten
java -Dsun.java2d.uiScale=2 -Xmx12000M -jar ./$josm
# https://wiki.archlinux.org/title/HiDPI
# https://qastack.com.de/superuser/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display
#
exit

Ja, leider muss der ui-scale unter Linux ganzzahlig sein, unter Windows gehen auch krumme Werte wie 1.25.

1 Like

Offenbar funktioniert das openjdk nicht einwandfrei und produziert Fehler. Deshalb verwendet man wohl diese Module aus JavaFX, was ja die Fortschreibung des Java von Oracle/Sun ist.

Ok, das kann sein, allerdings funktionieren bei mir alle Plugins problemlos.
Ein gutes Script würde schauen ob jfx installiert ist und nur dann zum Aufruf hinzufügen wenn es existiert.

Wenn es egal ist, welche Linux Distro dann mit JOSM perfekt läuft, kann man auch gleich OpenSUSE nehmen. Da braucht es auch ein solches Script für den 4K Monitor (welches ich anfangs auch genutzt habe), schon seit ein paar Jahren nicht mehr. Die Skalierung funktioniert ohne weiteres Zutun. Wichtig ist: JOSM installiere ich immer anhand der Anleitung von der OpenSUSE Software Download Seite per Root in der Konsole. Dies ist die einzige Installations Variante, die (bei mir) fehlerfrei verläuft.
https://software.opensuse.org/package/josm
“Community Pakete anzeigen” , dann “Expert Download”.

Der Fehler trat bei mir unter Manjaro mit java-20-openjdk auch auf. Geholfen hat java-openjfk zu installieren und dann über $ archlinux-java set java-8-openjdk/jre den default auf Java8 setzen.