用ant远程运行jar文件,会报错。但是用putty远程登录运行,运行jar文件是正常的。
问题检查
用ant远程运行java -version
<ssshexec command="java -version" .../>
结果是1.6
而远程登录后运行java -version,结果是1.8
确认是ant 远程运行时,环境变量不对。
问题解决
把command 改为
<ssshexec command="/bin/bash -l yourScript.sh" .../>
这样可以在运行自己的shell文件前先运行login shell.
环境变量就正常了。
其他
另外可以用以下方法运行单个命令
<sshexec command="/bin/bash -l -c 'java -version'" .../>