gpt4 book ai didi

java - 需要更好的 Java 应用程序部署策略

转载 作者:行者123 更新时间:2023-12-02 07:53:05 24 4
gpt4 key购买 nike

我有多个用户使用的各种 Java Swing 应用程序。我的部署策略是在网络共享上找到 .jar 文件,用户创建该文件的快捷方式。当用户启动应用程序时,文件会被复制到他们的机器上并在本地执行。此方法允许单一的代码副本并易于更新。

问题是如果当时有任何用户正在使用该应用程序,我无法更新网络共享上的文件。

我无法使用 Web Start,因为我无权访问用于对 jar 进行签名的证书。

我当前的解决方法是创建一个单独的应用程序,将所需的应用程序复制到用户的本地计算机,启动该应用程序,然后启动器退出。从启动器应用程序退出到用户的应用程序变得可见有几秒钟的延迟。

谁能建议一种更好的部署方法,让我可以轻松地更新应用程序的中央副本,而 Windows XP 不会保持对文件的锁定?

更新:JSmooth 方法解决了本质问题。 JSmooth 创建的 .exe 在使用时被锁定,但可以更新包含应用程序功能的 .jar 文件。

最佳答案

可以使用 Java Web Start,因为您可以使用自签名证书来签署您的文件。这会给您的用户一个警告,他们可以一劳永逸地接受。

因此,我建议您采用这种方式,因为这是执行您想要的操作的唯一标准 Java 方式,而且它工作得相当好。通过最新的 Java 6 更新,您可以获得许多有用的新功能。

一条建议:发布新版本时,将 jar 放在新位置,这样指向 JNLP 文件中 jar 文件的 URL 就会发生变化!这是因为 Java Web Start 缓存了 jar 文件,这是我们发现的确保缓存准确的最佳方法。


编辑:我相信您还可以使用 JSmooth 将 Java 文件包装在一个 EXE 文件中,它透明地提取本地计算机上的各种文件并在那里执行它们。这不应锁定原始 EXE 文件。但是,我建议您使用 Web Start 方法。

关于java - 需要更好的 Java 应用程序部署策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2564281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com