Gentoo linux can just put an uberjar into a package, too. But, it’s unrealistic to expect every JVM application to offer uberjars. Most JVM applications don’t offer uberjars.
There is no known way to download dependencies and then build an uberjar without internet access.
I know that I can just execute
mvn install in Arch Linux package builds. But, that’s like giving up packaging. If I wanted to execute
mvn install, I would skip linux packaging system.
I haven’t seen many JVM applications in arch user repository. Rather, I haven’t installed a JVM application on arch linux. I haven’t installed a single JVM application rather than JVM compilers or JVM package managers on gentoo linux.
The incompatibility is there, and people can feel it. If there wasn’t incompatibility issue, people would have installed multiple JVM applications, not JVM compilers or JVM build systems from linux package repositories.
When there are better alternatives such as perl and python and haskell, people don’t need to turn JVM applications into linux packages. While it’s possible to make JVM/nodejs/deno linux packages, I prefer not to because there are better alternatives that integrate with linux package systems seamlessly.
When clojure comes to MoarVM or something like it, I will consider it again for command line/terminal applications.