我有一个jPackage创建的应用程序,它由一个应用程序JAR文件和一些第三方依赖项组成.我使用jpack为Linux、MacOS和Windows创建安装程序.一切都运行良好.

但我不希望我的用户每次更改应用程序时都必须重新安装应用程序,所以我正在寻找一种方法,让用户下载应用程序JAR,并让它替换安装程序附带的JAR.

我认为最好的 Select 是将应用程序JAR下载到$HOME/APPLICATION_NAME/目录中,并将已安装应用程序的CLASSPATH设置在该目录的开头,这样它就可以在安装附带的JAR之前找到最新更新的JAR.这个是可能的吗?如果是这样的话,是如何做到的呢?我在jPackage文档中找不到任何暗示该功能存在的东西.或者,是否可以直接从应用程序中替换已安装的应用程序JAR?如果是这样的话,是如何做到的呢?

如果两者都不可能,还有其他方法吗?在两岁以上的question岁的时候,唯一的答案是建议使用JWS的替代品"getdown",但我不想走那条路,因为我会失go jPackage的其他好处.

推荐答案

"没坏的就别修了." - Bert Lance

您有使用jPackage的理由吗?因为你可以通过我对我拥有的每一个桌面应用程序使用的一种技术来充分利用它,JDeploy:

JDeploy是一款让Java开发人员可以更轻松地将桌面应用程序作为原生Bundle 包分发的工具.你可以使用NPM或GitHub版本将你的应用程序发布到云上,它提供了一个下载页面,其中包含下载Mac、Windows和Linux原生Bundle 包的链接.有关jDeploy及其特性的更多信息,请参见jDeploy网站.

他们的网站:

[https://www.jdeploy.com/][JDeploy site]

按照这份文档所显示的内容,您可以实现您的目标:

[https://www.jdeploy.com/docs/manual/][JDeploy developers guide]

如果你有任何问题,请告诉我!

Java相关问答推荐

是否可以从@ TrustMapping中删除特定方法的基路径?

在Java 8之后,HashMap的最坏情况下时间复杂度仍然是O(n)而不是O(log n)?

RxJava PublishSubject缓冲区元素超时

Java中是否有某种类型的池可以避免重复最近的算术运算?

Java中实现的归并排序算法给出ArrayIndexOutOfBound异常

有没有办法让扩展变得多态?

如何使用SpringBoot中的可分页对整数作为字符串存储在数据库中时进行排序

与Spring Boot相关的实体未正确保存

在Java 17中使用两个十进制数字分析时间时出错,但在Java 8中成功

为什么我的回收视图会显示重复的列表?

Spring安全令牌刷新和JWT签名与本地计算的签名不匹配

JNI:将代码打包成自包含的二进制文件

使用SWIG将C++自定义单元类型转换为基本Java类型

项目react 堆中doOnComplete()和Subscribe()的第三个参数之间的差异

将双倍转换为百分比

从12小时开始的日期模式

如何使用jooq更新记录?

如何使JOOQ渐变脚本不重新创建表未更改的类?

如何使用stream.allMatch()为空流返回false?

ANTLR 接受特殊字符,例如 .标识符或表达式中的(点)和 ,(逗号)