我有一个 C# 程序,它更新然后启动一个 Java 应用程序。在实际启动 Java 之前,它会检查程序使用的 .jar 文件的更新。有可能多人同时在给定机器上运行应用程序(它可能是终端服务器),或者同一个用户正在运行程序的多个实例。如果其他人正在运行该应用程序,则 .jar 文件将被使用且无法更新。我正在努力解决这个问题。
我的偏好是重命名 .jar 文件并更新它。当前运行应用程序的所有人员仍然可以使用重命名的 jar 文件。Windows 也不会让你重命名正在使用的文件(尽管我认为 Unix 系统会)。
不过,我注意到使用 Windows 资源管理器,您可以复制/粘贴 jar 文件并覆盖正在使用的 .jar 文件。这是如何工作的,我可以在我的更新程序/启动程序中以某种方式做类似的事情吗?
我还有其他方法可以使用吗?