服务器java调用cmd命令行没反应记录
本地springboot的java项目测试时运行:Runtime.getRuntime().exec(“命令行代码”) 一点问题没有.
打包成jar包放到服务器上运行则没任何反应.
后来查到原因是因为本地执行时默认走的是当前系统登录的用户执行CMD命令是有权限的,
服务器上以jar运行,这时是jar调用的CMD命令行,权限是jar给的,所以权限就不够了.
知道了问题所在,给jar权限就好.
我的服务器是window系统,jar运行也是通过CMD窗口执行的,所以我这里就直接用管理员权限运行CMD命定启用jar就好了,这时候运行jar的CMD窗口就有了管理员权限,自然里面运行的jar项目也是有管理员权限的,这样Runtime.getRuntime().exec(“命令行代码”)就可以正常运行了.