Tia*_*Tia 0 java applet swing web-deployment web
我发现了我刚刚提出的完全相同的问题,但它已经 7 岁了;所以如果可能的话,我想有一个“更新”的答案。谢谢。
正如TrogDor 评论的那样,以前有两种方法可以通过 Web 部署 Swing 应用程序:
这两者都将被逐步淘汰。
? 详情请参见Oracle 发布的白皮书Java Client Roadmap Update,更新于 2020-05-11。
现代方法是构建Swing和/或JavaFX应用程序,然后使用打包工具进行部署以包含 JVM。您最终会得到一个完整的自包含自启动应用程序。
这意味着您需要多个构建版本,为您的用户可能部署的每个平台(macOS、Linux、BSD、Windows 等)创建一个应用程序。虽然这对您来说是一个额外的负担,但另一方面是您可以准确控制用于运行应用程序的 Java 版本。
由于Java 9 及更高版本中的Java 平台模块系统( JSR 376 ),您现在可以剥离捆绑的 JVM 和库以仅包含特定应用程序实际使用的部分。
近年来,用于打包应用的构建工具发展迅速。因此,请务必进行研究以找到最强大和现代的工具。
您可以考虑以下任何一种替代方案:
您可能对Java Web Start技术的单独实现感兴趣。
虽然 Oracle 正在逐步淘汰Java Web Start,但有一个JSR 56:Java 网络启动协议和 API的开源实现,称为OpenWebStart。请参阅GitHub。该项目目前由公司保持Karakun的基础上,IcedTea项目的Web在开发核心功能(姓AdoptOpenJDK)Adoptium。
一个前沿的替代方案是使用GraalVM构建一个完全本机代码的提前编译版本的应用程序。
使用 Java 构建 Web 应用程序的一种完全不同的方法是Vaadin Flow框架。
您可以以与Swing非常相似的方式使用小部件指定用户界面布局,指定小部件的排列(按钮、字段、标签等)。您可以使用您选择的直接 Java 代码、基于 XML 的描述语言或可视化设计工具来实现。
在运行时,Vaadin 会自动生成在 Web 浏览器中在客户端用户计算机上远程呈现您的应用程序所需的 HTML、CSS 和 JavaScript。因此,您在服务器端拥有纯 Java,而在客户端没有 Java,只有所有现代浏览器中内置的Web 标准技术。
所有这些已经在 Stack Overflow 上多次讨论过。所以搜索以了解更多信息。
有关获取 JVM 以与您的应用程序捆绑在一起的提示,请参阅如何使 java 11 运行时环境正常工作,因为不再有 jre 11 可供下载?.
| 归档时间: |
|
| 查看次数: |
786 次 |
| 最近记录: |