Shameless plug: we solved the opposite problem, running any Java application in the browser via WebAssembly: <a href="https://labs.leaningtech.com/blog/cheerpj-4.3" rel="nofollow">https://labs.leaningtech.com/blog/cheerpj-4.3</a><p>And yes, it does run Minecraft as well :-) <a href="https://browsercraft.cheerpj.com/" rel="nofollow">https://browsercraft.cheerpj.com/</a>
Projects like this would be <i>significantly</i> funner and easier to make in Jdk25+(well technically 24+) because of the new Java classfile/bytecode API. It looks like Endive uses OW2 ASM, probably because this supports back to Jdk11. The new jdk API has a minimum target of Jdk17. OW2 ASM is significantly harder to use IMHO though.<p>What got me into this is I just finished a major release of Petrify (<a href="https://github.com/exabrial/petrify" rel="nofollow">https://github.com/exabrial/petrify</a>) that compiles ML Models to JVM Bytecode. It requires Jdk25 to do the compilation, but the compiled models can run on Jdk17+.<p>I'm looking for more side projects to use the classfile API on.
This is a fork of Chicory, a bit more context of the relationship between the projects can be found here:<p><a href="https://github.com/dylibso/chicory/issues/1296" rel="nofollow">https://github.com/dylibso/chicory/issues/1296</a>
On the CNCF wasmCloud Community call this week we played with this:
- a demonstration of Endive
- implemented CNCF wasmCloud host
- Integrated into Vert.x as an example<p>And discussed the roadmap.<p>Blogpost and video here:
<a href="https://blog.cosmonic.com/engineering/2026-05-26-diving-into-endive/" rel="nofollow">https://blog.cosmonic.com/engineering/2026-05-26-diving-into...</a>
Lots of context for this project on the Bytecode Alliance blog: <a href="https://bytecodealliance.org/articles/endive-and-the-next-chapter-of-webassembly-on-the-jvm" rel="nofollow">https://bytecodealliance.org/articles/endive-and-the-next-ch...</a>
It will be really great if this becomes a second popular runtime with both GC and WASI component model support. Wasmtime being the only runtime with that combo is a bit concerning. Node supporting the component model will help a lot too.
Is this being handed over to the Bytecode Alliance or is this a hard fork and will diverge from Chicory? It isn't clear from the announcement but I suspect the former.
I guess we can come full circle and eventualy port it to Android Java.
If you haven't seen The Birth & Death of JavaScript, it's well worth a watch:<p><a href="https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript" rel="nofollow">https://www.destroyallsoftware.com/talks/the-birth-and-death...</a>
See also: <a href="https://www.graalvm.org/webassembly/docs/" rel="nofollow">https://www.graalvm.org/webassembly/docs/</a>
Yeah, this was the first thing that came to mind, how does this compare to the Truffle WASM implementation. The Graal Polyglot API is pretty incredible, we've been using it for a JavaScript/Python plugin system in a JVM app, and it's been amazing.
Finally we can run Kotlin/WASM on desktop! /s