2010-09-14 4 views
1

J'essaie de sortir le fichier par FTP dans les fourmis, il vous attardez avec après l'impression « obtenir des fichiers », donc je permis debug dans fourmi et ma sortie esttâche ftp se bloque avec fourmi

[[email protected] net]# ant -d -f ftp_t.xml 
Apache Ant version 1.6.5 compiled on June 2 2005 
Buildfile: ftp_t.xml 
Adding reference: ant.PropertyHelper 
Detected Java version: 1.5 in: /root/jdk1.6.0_10/jre 
Detected OS: Linux 
Adding reference: ant.ComponentHelper 
Setting ro project property: ant.version -> Apache Ant version 1.6.5 compiled on June 2 2005 
Setting ro project property: ant.file -> /Test_Framework/tasks/net/ftp_t.xml 
Adding reference: ant.projectHelper 
Adding reference: ant.parsing.context 
Adding reference: ant.targets 
parsing buildfile /Test_Framework/tasks/net/ftp_t.xml with URI = file:///Test_Framework/tasks/net/ftp_t.xml 
Setting ro project property: ant.project.name -> FTP simple interface - ftp.xml 
Adding reference: FTP simple interface - ftp.xml 
Setting ro project property: ant.file.FTP simple interface - ftp.xml -> /Test_Framework/tasks/net/ftp_t.xml 
Project base dir set to: /Test_Framework/tasks/net 
+Target: 
+Target: ftpget 
Setting project property: ftpServerName -> xxxxx 
Setting project property: ftpUser -> xxxxx 
Setting project property: ftpPassword -> xxxx 
Setting project property: ftpRemoteDir -> /test 
Setting project property: ftpRemoteFile -> ReadMe.txt 
Setting project property: ftpLocalDir -> /local/test 
Attempting to create object of type org.apache.tools.ant.helper.DefaultExecutor 
Adding reference: ant.executor 
Build sequence for target(s) `ftpget' is [ftpget] 
Complete build sequence is [ftpget, ] 

ftpget: 
    [echo] FTP getting 'ReadMe.txt' from '/test' to '/local/test' 
     [ftp] Opening FTP connection to xxxxx 
     [ftp] connected 
     [ftp] logging in to FTP server 
     [ftp] login succeeded 
     [ftp] changing the remote directory 
     [ftp] getting files 
Could not load a dependent class (com/sun/media/jai/codec/FileSeekableStream) for type image 
Could not load a dependent class (com/jcraft/jsch/UserInfo) for type sshexec 
Could not load a dependent class (com/jcraft/jsch/UserInfo) for type scp 
Could not load a dependent class (jdepend/xmlui/JDepend) for type jdepend 
Could not load a dependent class (junit/framework/Test) for type junit 
fileset: Setup scanner in dir /local/test with patternSet{ includes: [ReadMe.txt] excludes: [] } 

Mon code

<target name="ftpget" description="Get file over FTP"> 
    <fail message="Build Abrted! Failed to find property:ftpRemoteFile" unless="ftpRemoteFile"/> 
    <fail message="Build Abrted! Failed to find property:ftpLocalDir" unless="ftpLocalDir"/> 

    <echo message="FTP getting '${ftpRemoteFile}' from '${ftpRemoteDir}' to '${ftpLocalDir}'"/> 
    <ftp action="get" 
      server="${ftpServerName}" 
      userid="${ftpUser}" 
      password="${ftpPassword}" 
      verbose="true" 
      remotedir="${ftpRemoteDir}" 
      skipFailedTransfers="true"> 
     <fileset dir="${ftpLocalDir}"> 
      <include name="${ftpRemoteFile}"/> 
     </fileset> 
    </ftp> 

Remarque: Le ftp normal fonctionne correctement. J'utilise Linux 64bit, ant 1.6.5 et java 1.6.10

Répondre

2

On dirait que tout fonctionne bien jusqu'à ce que vous essayez réellement et récupérer les données. FTP utilise deux canaux; un pour le contrôle et un pour les données. Cela fonctionne bien jusqu'à ce qu'un pare-feu refuse la connexion de données. Passive mode tente de contourner ce problème. Est-ce que votre bibliothèque FTP fonctionne avec un mode 'passif' ou 'PASV'?

+0

pare-feu a été activé. Maintenant, son travail après la désactivation – Soman