如何将Java编译为WASM(WebAssembly)?

43

5
Kotlin被列在那里。 - seenukarthi
3
JWebAssembly 可能会有所帮助。 - seenukarthi
这很有趣。我可能会尝试一下。虽然JWebAssembly接受的是.class文件而不是Java文件,但如果提供一些集成到开发流程中的提示,那么这个答案还是很好的。 - Paul Verest
3
我还发现了几个编译器,它们将Java字节码转换为WebAssembly。 - Anderson Green
2个回答

13
以下是几个可以帮助您完成此操作的编译器:
- https://github.com/konsoletyper/teavm(最受欢迎且我个人推荐:https://teavm.org/) - https://github.com/i-net-software/JWebAssembly(仅限于 WebAssembly,其他编译器可以同时处理 WebAssembly 和 JavaScript)

https://github.com/mirkosertic/Bytecoder

https://github.com/leaningtech/cheerpj-meta

请注意,它们都有各自的限制,最常见的是 Java 标准库中的每个 Java 类都无法与其良好配合使用(例如,TeaVM 和其他编译器在反射方面存在问题)。
它们还需要管道集成 -- 请确保使用这些编译器支持的构建工具,如 gradlemaven

1
据我所知,上述所有项目都针对Web浏览器WASM运行时,即没有WASI,并且您需要编写JavaScript代码与WASM模块进行交互(或在chherpj的情况下为您生成代码)。 - Guss

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接