我有一个运行的.jar游戏,在我的电脑上工作很好,我想把它放在一个网页上。我一直在网上寻找最好的方法来做这件事,但是旧的答案并没有考虑到过去几年出现的安全问题。我知道大多数浏览器不再支持Java,JWS (Java )现在是被废弃和移除。我已经看到了OpenWebStart的一些建议,但还没有找到很多支持文档或实现细节。
我的问题是:如何正确地托管允许用户在浏览器中玩我的Java游戏的网页?
发布于 2022-09-29 07:55:11
请考虑使用CheerpJ,这是我们在浏览器中运行未经修改的Java应用程序和applets的解决方案。
此示例演示如何在浏览器中集成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和CTO的学习技术。
发布于 2022-09-29 04:48:01
鉴于Java小程序的消亡,无法在web浏览器中运行Java应用程序。在web浏览器中安全地集成JVM被证明是不切实际的。
https://en.m.wikipedia.org/wiki/Java_Web_Start和开源替代https://openwebstart.com/在浏览器中不运行Java应用程序.它们为web浏览器提供了一种方式,可以方便地将Java应用程序下载到本地客户端计算机,并在本地启动该Java应用程序。Java应用程序独立于web浏览器运行。
这种应用程序交付机制在受控环境(如企业或教育环境)中可能很有用,在这种环境中,IT团队控制客户机器。对于一般公众来说,Web不太可能实用,因为Java不再预先安装在运行主流操作系统(如macOS、iOS/iPadOS、Windows、Linux、BSD等)的客户端机器上。
现在,对于应用程序的公开发行,甲骨文希望一个基于Java的应用程序与自己的JVM捆绑在一起,并通过应用商店或下载的安装程序等机制交付。这意味着您的开发人员必须为您选择支持的每个主机平台发布一个版本。
新技术,如Java平台模块系统和jlink & jpackage工具(参见相关的Java ),使得绑定JVM比以往任何时候都更容易。
见甲骨文白皮书,https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdatev2020may-6548840.pdf。
https://stackoverflow.com/questions/73890087
复制相似问题