Как загрузить необязательную задачу sshexec в Ant без конфигурации?
Я использую sshexec, который зависит от jsch-0.1.48.jar. Я не могу просто поместить это в каталог ant / lib, потому что другие пользователи, желающие использовать тот же сценарий сборки, должны будут выполнить настройку на своем компьютере, прежде чем они смогут это сделать.
Я хочу иметь возможность ссылаться на jsch-0.1.48.jar как часть проекта. В настоящее время он находится в каталоге project / libs, и я пытаюсь что-то вроде:
<property name="lib" location="lib"/>
<taskdef name="sshexec" classname="org.apache.tools.ant.taskdefs.optional.ssh.SSHExec">
<classpath>
<pathelement location="${lib}/jsch-0.1.48.jar"/>
</classpath>
</taskdef>
<target name="sshcmd" description="ssh command">
<sshexec host="X.X.X.X" username="USER" password="PASS" command="cmd" trust="true"/>
</target>
Но это не работает:
C:\dev\trunk\project:>ant sshcmd
Buildfile: C:\dev\trunk\project\build.xml
BUILD FAILED
C:\dev\trunk\project\build.xml:275: taskdef A class needed by class org.apache.tools.ant.taskdefs.optional.ssh.SSHExec cannot be found: com/jcraft/jsch/Logger
using the classloader AntClassLoader[C:\dev\trunk\project\lib\jsch-0.1.48.jar]
Total time: 0 seconds