2013-02-21 3 views
3

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> 

Répondre

Questions connexes