You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Web应用(HTML文件)中运行JAR包?

兄弟,先给你提个醒:Applet技术早就被所有主流浏览器彻底废弃了,现在你再用<applet>或者<object>标签去加载JAR包,根本跑不起来,别在这上面浪费时间啦!下面给你几个可行的替代方案,都是现在能用的:

可行的替代方案

1. 用CheerpJ把JAR转成浏览器可运行的代码

CheerpJ是个实用工具,能把Java字节码直接转成JavaScript,让你的JAR不需要用户安装任何Java环境就能在浏览器里运行。步骤大概是这样:

  • 先下载CheerpJ工具(官网有免费版可供个人使用),处理你的JAR包:
    cheerpjfy my-app.jar
    
  • 然后在HTML里引入CheerpJ的加载脚本,再调用JAR里的主类:
<script src="https://cjrtnc.leaningtech.com/3.2/loader.js"></script>
<script>
  // 初始化CheerpJ运行环境
  cheerpjInit();
  // 替换成你JAR里的主类全路径和处理后的JAR文件路径
  cheerpjRunMain("com.yourcompany.YourMainClass", "/path/to/your-processed.jar");
</script>

如果你的JAR里包含Swing/AWT界面,CheerpJ会自动把它转成HTML5兼容的UI,基本能还原原来的界面效果。

2. 把JAR做成后端HTTP服务(最推荐的现代方案)

如果你的JAR是处理业务逻辑的,不是桌面UI应用,那最稳妥的方式是把它做成独立的HTTP服务,然后HTML通过前端API和它交互。比如用Spring Boot快速搭建接口:

  • 给你的JAR添加Spring Boot依赖,写个简单的接口类:
@RestController
public class AppController {
    @GetMapping("/api/process-data")
    public String processData(@RequestParam String input) {
        // 这里调用你原有JAR里的业务逻辑方法
        return "处理结果:" + yourOriginalJarBusinessMethod(input);
    }
}
  • 把项目打包成可运行JAR,启动服务:
    java -jar your-backend-service.jar
    
  • 最后在HTML里用Fetch API调用后端接口:
<div>输入内容:<input type="text" id="inputText"></div>
<button onclick="callBackend()">提交</button>
<div id="result"></div>

<script>
function callBackend() {
  const input = document.getElementById('inputText').value;
  fetch(`http://localhost:8080/api/process-data?input=${encodeURIComponent(input)}`)
    .then(response => response.text())
    .then(data => document.getElementById('result').textContent = data);
}
</script>

这种前后端分离的方式是当前Web开发的主流,维护和扩展都更方便。

3. 用TeaVM编译Java代码到WebAssembly/JavaScript

TeaVM是另一个编译工具,能把Java代码(包括JAR里的内容)编译成WebAssembly或者纯JavaScript,生成的代码可以直接嵌入HTML运行,适合对性能要求较高的场景。步骤大概是:

  • 将JAR里的代码导入TeaVM项目,配置好入口主类
  • 编译生成JS或Wasm文件
  • 在HTML里引入生成的脚本,调用对应的业务方法

这个方案的学习成本稍高,但灵活性很强,适合复杂的Java应用迁移到浏览器端。

总结
  • 如果是带UI的桌面JAR应用,优先选CheerpJ,上手快,界面还原度高
  • 如果是业务逻辑类的JAR,做成后端服务和前端交互是最稳妥的现代方案
  • 追求性能或高度定制化的话,可以尝试TeaVM

内容的提问来源于stack exchange,提问作者itsMe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:01:14