有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我有多个用户使用的各种JavaSwing应用程序。我的部署策略是定位。jar文件,用户创建指向该文件的快捷方式。当用户启动应用程序时,文件将复制到他们的计算机并在本地执行。此方法允许代码的单个副本,并且易于更新

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

我不能使用WebStart,因为我没有权限签署jar的证书

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

有谁能推荐一种更好的部署方法,让我可以轻松地更新应用程序的中心副本,一种Windows XP不会对文件保持锁定的方法吗

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


共 (1) 个答案

  1. # 1 楼答案

    可以使用javawebstart,因为您可以使用自签名证书对文件进行签名。这将给你的用户一个警告,他们可以一劳永逸地接受

    因此,我建议您这样做,因为这是做您想要做的事情的唯一标准Java方法,而且它工作得相当好。通过最新的Java6更新,您可以获得许多新的、有用的功能

    一条建议:当您发布一个新版本时,将jar放在一个新的位置,这样URL指向JNLP文件中的jar文件就会改变!这是因为JavaWebStart缓存jar文件,这是我们找到的确保缓存准确的最佳方法


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