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.
You have to ask why there are many linux packages for python and perl applications and why there aren’t any or many JVM/javascript applications as linux packages. JVM and javascript feel cumbersome and dirty for linux packages even on debian and arch linux.
Because there is incompatibility between linux package systems and JVM and javascript, people prefer not to package JVM applications as linux packages. AsciidocFX just offers platform-specific uberjars.
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.
If you just want access to large ecosystems, there are perl and python and C. There are Go and Rust, too. As long as those languages let me do what I want, I don’t need to deal with JVM or javascript platforms.
My specialty is command line application. There is no need to make my work difficult with JVM or javascript platforms. For command line or terminal applications, there are better languages.
When clojure comes to MoarVM or something like it, I will consider it again for command line/terminal applications.