Nice to see Ruby vs Java. Must say that in this context Kotlin deserves a mention: my Kotlin code basically looks+feels like Ruby-with-types. Both Ruby and Kotlin are essentially OO, but with "lots of FP features where it makes sense".<p>On the side of the jpackage: I'm currently using GraalVM compile to native for a Kotlin CLI tool. I do the build in a build container so I use an older glib to ensure compatibility on a wide variety of Linuxes, AND because this way no-one needs to install all the GraalVM requirements by hand. The result is a 57MB binary, that start in a blink of the eye. The downside is long compile times (2 minutes for a simple CLI tool that uses AWS SDK). I think I prefer this of jpackage; but I'm not building a GUI tool.
> MCPB<p>It's annoying when acronyms are used without explanation. It's <a href="https://github.com/modelcontextprotocol/mcpb" rel="nofollow">https://github.com/modelcontextprotocol/mcpb</a> , which looks a kind of installation bundle for MCP servers.
There's Apache POI which is intended for working with Office documents, so directly using XML parsers might not be necessary.<p>The MCPB format seems to be able to run external processes, even if there's a Node in the middle. So you could also compile the Java version to a native binary with GraalVM and ship that as an MCPB.