Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何发布Java程序的修补程序_Java_Windows_Macos_Cross Platform_Patch - Fatal编程技术网

如何发布Java程序的修补程序

如何发布Java程序的修补程序,java,windows,macos,cross-platform,patch,Java,Windows,Macos,Cross Platform,Patch,我最近发布了一个跨平台Java应用程序。对于发行版,我们为Windows创建了一个NSIS安装程序,并为Mac使用了一个DMG(它包含jarbundle.app文件)。我们还计划创建Linux RPM、DEB和tarball 总共有5种不同的分配方法需要注意 我的问题是:修补在许多平台上运行的Java程序的最佳跨平台方法是什么 我认为脚本是执行任务的一种合理的跨平台方式。如果您的补丁逻辑包括移动一些文件、更新JAR、处理配置等,那么Ant可能适合您。您可以将其用作GUI。这可能不是您的选择,但我

我最近发布了一个跨平台Java应用程序。对于发行版,我们为Windows创建了一个NSIS安装程序,并为Mac使用了一个DMG(它包含jarbundle.app文件)。我们还计划创建Linux RPM、DEB和tarball

总共有5种不同的分配方法需要注意


我的问题是:修补在许多平台上运行的Java程序的最佳跨平台方法是什么

我认为脚本是执行任务的一种合理的跨平台方式。如果您的补丁逻辑包括移动一些文件、更新JAR、处理配置等,那么Ant可能适合您。您可以将其用作GUI。

这可能不是您的选择,但我认为最好的方法是使用


它提供了独立于平台的机制来自动下载软件的补丁版本。

您是否考虑过只发布整个应用程序的新的次要版本,而不是补丁?由于您已经在各种平台的安装程序上投入了时间,因此为每个平台想出第二种方法似乎可以避免很多麻烦。除非你的应用程序非常大,否则我想不出有什么缺点,因为现在带宽非常便宜。

我想你误解了。我正在寻找一种向用户发送补丁的方法。使用此应用程序的用户将是高度非技术性的,因此我们最多可以期望他们能够双击EXE或DMG文件。编辑:NM,看起来你明白了:)想想看,发布补丁就像发布一个完整的安装包。关于为最终用户提供一个好的安装包装器,在我的项目中,所有的安装/补丁逻辑都是一个Ant脚本,我们使用Antistaller加上一个特定于平台的启动脚本(.bat/.sh)来引导Antistaller。这可能不是最好的解决方案(.exe会更好),但是-只有我的2美分。我对这个答案感到困惑,jws如何帮助应用补丁?彼得·朗:我在一家销售商业软件的公司工作。除非你愿意牺牲大部分潜在的OSX客户,否则你最不想做的就是使用JavaWebStart。首先,Java在OSX用户中的代表性仍然很差,你宁愿把它是Java应用这一事实隐藏起来。当然,JWS本身也有一大堆问题。@WizardOfOdds,Java在OS X下对我们来说工作得很好。你能详细介绍一下你在OS X下使用Java的经历吗,因为它太糟糕了?发行版可以包含JNLP应用程序的初始种子设定,因此可以避免大量下载。@kgrad,Java Web Start允许通过更新服务器上的JNLP文件向现有应用程序提供新的JAR。我们希望避免这种情况的主要原因是我们不想将安装程序分发给所有人,因为保护我们免受盗版的唯一办法是一个简单的许可证密钥验证器。另一方面,修补程序可以很容易地从我们的网站上分发,因为没有主程序它是无用的。我同意-只需构建安装程序的新版本,用户就不会处理不同的安装方法。你如何分发你的原始应用程序?但应用修补程序的人必须拥有原始安装的应用程序,因此,只需保护您的网站,使他们必须使用其产品序列号等登录,以访问补丁下载区域。