在网页中嵌入Java程序的推荐方式是什么?

问题描述 投票:0回答:2

我有一个可运行的 .jar 游戏,它在我的计算机上运行良好,我想将其托管在网页上。我一直在网上寻找最好的方法来做到这一点,但旧的答案没有考虑到过去几年出现的安全问题。我知道大多数浏览器不再支持 Java Applet,并且 JWS (Java Web Start) 现已弃用并删除。我看过 OpenWebStart 的一些建议,但找不到很多支持文档或实现细节。

我的问题是:托管允许用户在浏览器中玩我的 Java 游戏的网页的正确方法是什么?

java web browser applet hosting
2个回答
3
投票

请考虑使用 CheerpJ,我们的解决方案可在浏览器中运行未经修改的 Java 应用程序和小程序。

此示例展示了如何在浏览器中集成 Java 应用程序。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CheerpJ test</title>
    <script src="https://cjrtnc.leaningtech.com/2.3/loader.js"></script>
  </head>
  <body>
  </body>
  <script>
      cheerpjInit();
      cheerpjCreateDisplay(800,600);
      cheerpjRunMain("ChangeThisToYourClassName", "/app/my_application_archive.jar:/app/my_dependency_archive.jar"); 
  </script>
</html>

更多信息可以在这里找到:https://docs.leaningtech.com/cheerpj/Getting-Started

CheerpJ 旨在在浏览器中运行 100% 的 Java 应用程序,但请注意,它目前不支持 JNI/二进制库。

完全披露,我是 CheerpJ 的首席开发人员和 Leaning Technologies 的 CTO。


3
投票

鉴于 Java 小程序 的消亡,无法在 Web 浏览器中运行 Java 应用程序。事实证明,在 Web 浏览器中安全地集成 JVM 是不切实际的。

Java Web Start,以及开源替代方案 OpenWebStart,请勿在浏览器中运行 Java 应用程序。它们为 Web 浏览器提供了一种方便地将 Java 应用程序下载到本地客户端计算机并在本地启动该 Java 应用程序的方法。 Java 应用程序与 Web 浏览器分开独立运行。 Oracle 正在分阶段实施 Java Web Start,但 OpenWebStart 作为志愿者项目继续存在。

OpenWebStart 应用程序交付机制在受控环境中可能很有用,例如 IT 团队控制客户端计算机的企业或教育环境。对于普通大众来说,OpenWebStart不太实用,因为运行 macOS、iOS/iPadOS、Windows、Linux、BSD 等主流操作系统的客户端计算机上不再预装 Java。

对于当今应用程序的公开分发,Oracle 希望基于 Java 的应用程序与其自己的 JVM 捆绑在一起,并通过应用程序商店或下载安装程序等机制进行交付。这意味着您作为开发人员必须为您选择支持的每个主机平台发布一个版本。

新技术,例如

Java Platform Module System 以及 jlinkjpackage 工具(请参阅相关 Java JEP),使捆绑 JVM 变得比以往更容易。

请参阅 Oracle 白皮书,

Java 客户端路线图更新

请参阅有关

CheerpJ 产品的 其他答案,以使用 Web 浏览器与 Java 应用程序远程交互。

© www.soinside.com 2019 - 2024. All rights reserved.