让我解释一下问题:
语境
我有这个想要更新的应用程序。它调用了我也制作的更新程序 jar。更新程序会杀死运行旧版本的应用程序,并且更新程序会使用新版本启动一个新应用程序。
问题
除非我自己运行 jar,否则新版本不会启动。添加睡眠并没有解决问题。
假设
也许运行更新应用程序的用户是 java 并且它没有运行新版本的权限
我用我的用户运行第一个 java,而不是这个 java 应用程序用“java user”运行 jar,java 用户不能运行新版本。
当我使用运行时运行我的 jar 时,有没有办法可以指定用户。
Runtime.getRuntime().exec("C://Temp//myapp.jar");