我不是在谈论sshexec任务,我想要一个允许我使用ant的所有功能的lib,但不是在本地执行它会在远程主机上执行它。
例如,使用copy,移动重命名等等但是在远程主机中而不是本地。
我知道sshexec可以实现类似的功能,但是一旦我登录到机器我必须使用shell,而我希望能够使用正常的ant任务。
编辑:
我刚刚发现了sshsession
任务,它允许您将ant任务封装为远程运行,或者至少是手册所说的内容:http://ant.apache.org/manual/Tasks/sshsession.html
我用这个简单的build.xml测试了它:
<project name="project" default="default">
<!-- =================================
target: default
================================= -->
<target name="default" description="description">
<sshsession host="${host}" username="${username}" password="${password}" trust="yes">
<sequential>
<mkdir dir="/tmp/sshtest"/>
</sequential>
</sshsession>
</target>
</project>
运行时我得到以下结果:
default:
[sshsession] Connecting to my.server
[mkdir] Created dir: C:\tmp\sshtest
BUILD SUCCESSFUL
不是在远程服务器上创建目录,而是在我的PC上本地创建它。有什么想法吗?