Nik*_*las 11 java distribution
我正在研究一个简单的桌面java应用程序.我想尽可能无缝地为最终用户安装.例如,类似于Minecraft的分布方式 - OS X的简单可执行文件和Windows的EXE文件.
我应该使用什么工具?
Alb*_*dez 13
啊哈!我也有这个问题.Java应用程序的用户必须安装JRE才能运行它.
您可以告诉他们首先安装Java,或者像处理一样在您的应用程序中分发JRE.
但请注意,如果包含JRE,则打包的程序会很重.而且,如果您想这样做,用户将需要为他们的平台下载适当的包.
它们将您的Java应用程序作为输入并将它们包装在可执行文件中(对于指定的平台).您可以根据需要自定义它们; 如果用户没有安装Java,则会打开下载页面.
一些例子是Launch4J,JSmooth和Jar2EXE.
它们是独立的应用程序,配置为将应用程序文件复制到用户的计算机,并(可选)创建快捷方式.
有些安装程序是用Java编写的,因此它们是多平台的.在这种情况下,安装程序是.jar.
其他一些是依赖于平台的,但您的优势在于您不需要包装它们.
Java安装程序: IzPack,Packlet,PackJacket,Antigen,...
它是一项Java功能,允许用户轻松运行您的应用程序.你给他们一个.jnpl文件,
他们打开它,Java下载最新版本的应用程序并运行它.没有包装麻烦!
请在此处查看完整的资源列表.
Bas*_*que 10
部署基于 Java 的桌面应用程序的现代解决方案是将JVM与您的应用程序捆绑在一起,像其他“普通”应用程序一样作为可双击的包交付给用户。将 JVM 视为要合并到最终应用程序中的另一个依赖项。
学习关于:
您可以通过这种方式发布JavaFX ( OpenJFX ) 应用程序以及Swing应用程序(JavaFX 的前身)。
这种方法的一个优点是您确切地知道正在使用什么 JVM 来运行您的特定应用程序。当然,这也意味着当 JVM 更新包含相关修复时,您必须发布应用程序的新版本。您的用户不再关心下载、安装和升级 JVM,因为这些琐事现在由开发人员负责。
这种方法的一个缺点是您必须构建、测试和分发应用程序的单独二进制文件,每个平台(macOS、MS Windows、BSD、Linux 等)一个。
另请参阅我对相关问题的回答,How to use jdk without jre in Java 11。
请参阅Will Iverson的答案以了解一些有用的工具。
这种方法的一个前沿变体是使用GraalVM及其本机图像生成器构建应用程序的提前编译(与JIT相比)本机代码版本。
可能相关:Oracle 的 Project Leyden。请参阅Mark Reinhold 的初始公告,以及2020-05-07 的这篇文章。
其他一些答案讨论了Java Web Start。请注意,Oracle 正在逐步淘汰Java Web Start和Java Applets技术。请参阅他们的白皮书,日期为 2020 年 5 月 11日的Java 客户端路线图更新。
一个可能的替代方案是 Java Web Start 的开源实现,称为OpenWebStart项目。
Java Web Start我认为是您正在寻找的选项...
编辑
来自 Basil Bourque @ 2020 的评论:
Oracle 正在逐步淘汰 Java Web Start。请参阅他们的白皮书,日期为 2020 年 5 月 11日的 Java 客户端路线图更新。您可能对称为OpenWebStart项目的 Java Web Start 的开源实现感兴趣 。
| 归档时间: |
|
| 查看次数: |
11075 次 |
| 最近记录: |