部署后如何维护javafx桌面应用程序

yfjy0ee7  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(405)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

15天前关门了。
改进这个问题
我是javafx领域的新手,从未将任何应用程序部署到任何客户端。我知道如何制作桌面应用程序,但我陷入了一个问题。
当我将应用程序部署到客户机时,我们知道更改是不可避免的,在某个时间点,我的客户可能会要求我对现有的应用程序进行一些更改,那么我该如何实现这一点。
我应该在客户机上重新安装新的javafx应用程序来替换旧的应用程序(但那将是完全混乱的),还是有更好的方法让我知道呢?

qybjjes1

qybjjes11#

热释光;博士

你问:
我应该在客户机上重新安装新的javafx应用程序吗
对。
从用户的Angular 来看,将应用程序作为独立的“可双击”应用程序交付,这些应用程序与任何其他本机应用程序一样运行。通过绑定jvm来实现这一点。
以下任何更改:
主机操作系统中的错误修复或更新
java中的错误修复或更新
捆绑java实现中的错误修复或更新
错误修复或更新你的应用程序代码库
…意味着您需要使用捆绑的jvm和openjfx库构建新的应用程序,以便重新安装到用户的机器上。
重新安装应用程序可以由用户手动完成,也可以由apple app store这样的数字分发平台自动完成,也可以通过桌面管理工具在企业中自动完成,或者通过商业应用程序安装工具半自动完成。

详细信息

您应该阅读oracle白皮书,更新日期2020-05-11,java客户端路线图更新。
oracle基本上已经不再期望java安装在用户的机器上了。现在,您应该在应用程序中捆绑java运行时。这意味着您必须为您选择支持的每个主机操作系统(如macos、bsd、linux、microsoft windows)以及您选择支持的每个硬件平台(如amd/intel和arm/apple silicon)构建应用程序版本。
缺点是,这意味着必须交付几个工件。好的方面是,您可以精确控制运行应用程序所使用的java版本。
macoslinuxbsdwindowsamd/英特尔❔❔❔❔arm/苹果硅❔❔❔❔
您还需要在应用程序中包含openjfx库。通过配置maven、gradle或类似的具有依赖关系管理特性的构建工具,您可以方便地将它们包含在项目中。
java9为我们带来了java平台模块系统。这使您能够将java实现与应用程序合并,但只获取应用程序实际需要的部分。所以最终的结果是更小的,因为不必要的库被留下了。
工具不断改进和创新,以 Package 您的应用程序。我不知道最新消息,但从这里开始:
jep 392: Package 工具
这里有许多关于打包javafx/openjfx应用程序以进行部署的现有问题和答案。因此,搜索以了解更多信息。请记住,这个领域的最新技术正在迅速变化——请确保您获得了最新的现代信息。
可能有商业应用程序安装工具供应商,以帮助在这里,但我不知道目前的市场。
这种在应用程序中捆绑java的做法实际上是macos上的老生常谈。多年来,人们一直在通过苹果应用商店(appleappstore)发布应用程序。现在这种做法正成为跨平台的常态。
或者,如果您可以控制用户的机器(例如在企业环境中),则可以预先安装java实现。至少有两家供应商提供了一个包含openjfx的java实现:bellsoft的libericafx和azul系统的zulufx。
另一个选择,尽管是最前沿的,是使用graalvm生成一个具有提前编译功能的本地应用程序。
其他资源:
openjfx主页
glion公司,openjfx的主要管理者。他们销售培训、咨询和支持服务来帮助您。
其他顾问可能也会帮助javafx。
你需要选择一个java实现来捆绑你的应用程序。这是我做的流程图。

相关问题