Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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
在Mac OS X上修补Java应用程序包的最佳方法是什么?_Java_Macos_Patch_Auto Update - Fatal编程技术网

在Mac OS X上修补Java应用程序包的最佳方法是什么?

在Mac OS X上修补Java应用程序包的最佳方法是什么?,java,macos,patch,auto-update,Java,Macos,Patch,Auto Update,我正在为Linux、Windows和Mac开发软件,并在应用商店外分发软件。软件是数字签名的(当然),我在Mac上使用嵌入jre的应用程序包,在Windows上使用类似的解决方案(那里安装了NSIS和launch4j launcher)。到目前为止,我还没有找到更新/修补Mac OS X应用程序包的实用解决方案,我想知道,除了完全更换应用程序包之外,是否还有其他解决方案。我读过sparkle,但因为我不使用XCode而是使用Java/Eclipse,所以很难让它工作 有没有一种方法可以将已使用相

我正在为Linux、Windows和Mac开发软件,并在应用商店外分发软件。软件是数字签名的(当然),我在Mac上使用嵌入jre的应用程序包,在Windows上使用类似的解决方案(那里安装了NSIS和launch4j launcher)。到目前为止,我还没有找到更新/修补Mac OS X应用程序包的实用解决方案,我想知道,除了完全更换应用程序包之外,是否还有其他解决方案。我读过sparkle,但因为我不使用XCode而是使用Java/Eclipse,所以很难让它工作


有没有一种方法可以将已使用相同签名签名的另一个应用程序写入现有的应用程序包?

我不知道有什么方法可以在macOS上自动更新/修补/切片已签名的Java应用程序包,而不将其全部替换为更新版本

理论上,您可以通过编写替换相应JAR/文件/等的脚本,然后更新应用程序包目录中的签名,来修补已签名的应用程序:

/目录/收据/

我自己也没有尝试过,所以我没有太多其他的东西可以提供,但它应该是可行的

通用/备选信息:

如果这样做有帮助:一般来说,让Java应用程序与macOS很好地融合需要使用XCode的JarBundler和/或外部构建插件(使用Ant和/或Maven)。如果你想了解更多关于这些事情的信息,下面有一些参考资料

  • 使用Xcode/JarBundler为macOS打包Java应用程序:

  • 使用Ant任务处理自动生成脚本中的打包:

  • 使用苹果的Java库和Maven插件打包应用程序:


听起来你可能已经知道这些事情了,但也许这会对其他人的阅读有所帮助。

你有没有用正确的方法解决过这个问题?我也面临同样的问题。我使用javapackager创建mac包。在windows上,我有两个可执行文件,第一个只是检查第二个是否需要更新,并在更新时完全覆盖它。但在mac上,我找不到类似的解决方案。