Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#78707 - [josm] Module javafx.web not found on launch
Attached to Project:
Arch Linux
Opened by tuxayo (tuxayo) - Sunday, 04 June 2023, 22:07 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:18 GMT
Opened by tuxayo (tuxayo) - Sunday, 04 June 2023, 22:07 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:18 GMT
|
DetailsDescription:after updating JOSM I tried to ran it and got:
Using /usr/bin/java to execute josm. Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.web not found Installing java-openjfx didn't change anything. Additional info: ~ ❯❯❯ java --version openjdk 20.0.1 2023-04-18 OpenJDK Runtime Environment (build 20.0.1+9) OpenJDK 64-Bit Server VM (build 20.0.1+9, mixed mode, sharing) |
This task depends upon
Closed by Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:18 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/josm/issues/3
Saturday, 25 November 2023, 20:18 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/josm/issues/3
$ java --version
openjdk 11.0.19 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7)
OpenJDK 64-Bit Server VM (build 11.0.19+7, mixed mode)
```sh
$ pacman -Qs jre
local/jre-openjdk 20.0.1.u9-3
OpenJDK Java 20 full runtime environment
local/jre-openjdk-headless 20.0.1.u9-3
OpenJDK Java 20 headless runtime environment
```
```
openjdk 20.0.1 2023-04-18
OpenJDK Runtime Environment (build 20.0.1+9)
OpenJDK 64-Bit Server VM (build 20.0.1+9, mixed mode, sharing)
```
The issue is still present.
Possibly relevant: https://bugs.archlinux.org/task/72953
The josm-stable AUR package has the same version of JOSM but its much shorter /usr/bin/josm script works:
#!/bin/sh
# source application-specific settings
while true; do
JOSM_ARGS=
[ -f /etc/conf.d/josm ] && . /etc/conf.d/josm
CLASSPATH="/usr/share/java/josm/josm.jar"
java ${JOSM_ARGS} -cp "${CLASSPATH}" -Djosm.restart=true org.openstreetmap.josm.gui.MainApplication "$@"
[ $? -eq 9 ] || break
done
```
java --version
openjdk 20.0.2 2023-07-18
OpenJDK Runtime Environment (build 20.0.2+9)
OpenJDK 64-Bit Server VM (build 20.0.2+9, mixed mode, sharing)
```
I use it as a workaround for now
Edit: New error seems to be an issue with how Arch installs OpenJFX into /usr/lib/jvm: https://stackoverflow.com/a/62899144/5193095
Edit 2: Based on that SO answer I adjusted JAVAFX_HOME in /etc/conf.d/josm to `JAVAFX_HOME=/usr/lib/jvm/default/lib/javafx.base.jar:/usr/lib/jvm/default/lib/javafx.web.jar:/usr/lib/jvm/default/lib/javafx.controls.jar:/usr/lib/jvm/default/lib/javafx.swing.jar:/usr/lib/jvm/default/lib/javafx.media.jar:/usr/lib/jvm/default/lib/javafx.graphics.jar:/usr/lib/jvm/default/lib/javafx.fxml.jar` and JOSM seems to work now, so that is another possible workaround for the time being if you want to minimise your AUR reliance. :) (`JAVAFX_HOME=/usr/lib/jvm/default/lib/javafx.base.jar:/usr/lib/jvm/default/lib/javafx.web.jar:/usr/lib/jvm/default/lib/javafx.controls.jar:/usr/lib/jvm/default/lib/javafx.swing.jar:/usr/lib/jvm/default/lib/javafx.media.jar:/usr/lib/jvm/default/lib/javafx.graphics.jar` seems to be the minimal required JAVAFX_HOME, but I’ve included javafx.fxml.jar in case anything actually uses that that just isn’t referenced yet at boot time. Not sure if Java actually works like that or not, but including it also doesn’t seem to break it, so 🤷)
Edit 3: Package with workaround‐fixes (and version bump) can be found at https://gitlab.archlinux.org/freso/josm/-/tree/47b89da2f9ad92e5757121e63031b86b295af29f if anyone is interested. I’d suggest to change $pkgrel to 0 so you’ll get the update from the repository whenever it gets fixed in the package proper. :)
dpkg: no packages found matching openjdk-*-jre
dpkg: no packages found matching openjdk-*-jre:amd64
Using /usr/bin/java to execute josm.
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.web not found
Installing java-openjfx, that isn't in dependencies (definitively should be) didn't resolved the issue.
Tried by installing java17-openjfx, I have the same issue.
I just noticed that jdk11-openjdk is still on my system, and if I try to remove it pacman complain about few application dependencies on it via java-environment dependence. Maybe the solution should be to switch by one way (don't know which one but removing all dependencies, removing v11 and reinstalling current version (v20) and the packages depending on it, after that.
After:
* removing all old jdk/jre and their dependencies
* force a new installation of last jre-openjdk jre-openjdk-headless jdk-openjdk packages
* installing java-openjfx again
* changed /usr/bin/josm, as said in the https://bugs.archlinux.org/task/78707#comment219130
This works.
https://bugs.archlinux.org/task/72953
josm
Using /usr/bin/java to execute josm.
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.web not found
with:
archlinux-java status
Available Java environments:
java-17-openjdk (default)
I guess the package dependencies should be updated accordingly.
However, it would be nice to keep java-openjfx as an optional dependency. Note that josm runs fine with the latest java version (21) when launched with `java -jar /usr/share/java/josm/josm.jar`. I hope you can tweak the launch script a bit more ;)
I removed all Java software, then reinstalled JOSM, and picked the java17 package when asked which version I wanted. Also installed java17-openjfx for good measure.
Now it works.
`java -jar /usr/share/java/josm/josm.jar` works without issues.