jarwrap
用于将 Java JAR 文件打包为跨平台可执行文件的 web 服务,支持多种平台和架构
主要模块
- Site 服务 (Next.js): 提供用户界面交互,通过界面选择 JAR 文件和 JRE 选项,提交构建任务到消息队列。
- Worker (Node.js): 从消息队列中获取构建任务,执行相应的任务逻辑(如构建、上传、生成下载链接),并将结果更新到数据库中。涉及数据库操作、文件管理、S3、电子邮件发送等功能。
- Builder (Golang): 基于 Golang 编写的打包程序,使用 Golang embed 功能嵌入 JRE、Native Library、JAR 文件,生成独立的可执行文件。