jarwrap

用于将 Java JAR 文件打包为跨平台可执行文件的 web 服务,支持多种平台和架构

jarwrap

主要模块

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