Je voudrais spécifier le chemin de classe pour une tâche fpt directement dans mon script Ant Build. J'ai essayé les éléments suivants:Comment puis-je spécifier le chemin de classe dans le fichier de construction d'une tâche ftp
<target name="ftp-upload" depends="build-html">
<echo message="Ftp upload started with user ${user}" />
<ftp verbose="yes"
remotedir="${ftp.dir}"
server="${server}"
userid="${user}"
password="${password}"
depends="yes">
<fileset dir="${mystuff.dir}/.." />
<classpath refid="build.classpath" />
</ftp>
</target>
et
<target name="ftp-upload" depends="build-html">
<echo message="Ftp upload started with user ${user}" />
<ftp verbose="yes"
remotedir="${ftp.dir}"
server="${server}"
userid="${user}"
password="${password}"
depends="yes"
classpathref="build.classpath"
>
<fileset dir="${mystuff.dir}/.." />
</ftp>
</target>
La première approche me donne le message d'erreur suivant:
Could not create type ftp due to java.lang.NoClassDefFoundError: org/apache/commons/net/ftp/FTPClientConfig
La deuxième approche me donne le message d'erreur suivant:
ftp doesn't support the "classpathref" attribute
Est-il possible de définir le chemin de classe dans le script de construction pour les tâches ftp ou dois-je le faire en dehors du script de construction sur mon serveur? Serait bien d'avoir le script de construction autonome.
Solution:
Juste Redéfinir la tâche ftp avec votre référence classpath:
<taskdef name="ftp" classname="org.apache.tools.ant.taskdefs.optional.net.FTP">
<classpath>
<pathelement location="\lib\commons-net-1.4.0.jar"/>
</classpath>
</taskdef>
Merci pour le lien, la redéfinition de la tâche fpt a fait l'affaire: – vogella