Wie lade ich die optionale Task sshexec ohne Konfiguration in Ant?

Ich verwende sshexec, das von jsch-0.1.48.jar abhängt. Ich kann das nicht einfach in das Verzeichnis ant / lib stellen, da andere Benutzer, die dasselbe Build-Skript verwenden möchten, eine Konfiguration auf ihrem Computer vornehmen müssen, bevor sie dies tun können.

Was ich tun möchte, ist in der Lage zu sein, auf jsch-0.1.48.jar als Teil des Projekts zu verweisen. Derzeit befindet es sich im Verzeichnis project / libs und ich versuche Folgendes:

<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>

Aber das geht nicht:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage