我有一个需要在远程桌面服务环境中使用的 Java 应用程序。
由于 javaw.exe 进程拥有 JAR 文件的文件句柄,因此只要其他用户正在使用它,我就无法替换 JAR。
我也看不到当前用户,因为在同一台服务器上运行的其他 JAR 文件可能还有许多其他 javaw.exe 进程。在服务器场中,我必须检查每台服务器是否有打开的实例。
是否有在此环境中部署和更新 Java 应用程序的最佳实践?
一些想法:
- 使用具有配置文件的启动器应用程序,该配置文件指定 JAR 文件的位置
- 修改开始菜单中的条目以指向新的 JAR 文件位置
- 登录时将 jar 复制到用户特定的工作文件夹
- 使用 JWS
然而,选项 3 和 4 意味着需要将 Log4J 输出定向到操作/开发人员可以访问的文件夹中的位置