java - Ant: Kopiering af en mappe fra et Windows-system til et andet

Indlæg af Hanne Mølgaard Plasc

Problem



Sådan kopieres en mappe fra et Windows-system til et fjernt Windows-system ved hjælp af ant


der er en scp-kommando og FTP-kommando, giv mig et eksempel til at udføre denne opgave ved hjælp af scp og ftp.


Også scp kræver SSH, som ikke er almindeligt for Windows-systemet.


Så hvordan man bruger SCP på windows system ved hjælp af ant


Også hvis du kender nogen bedre tilgang til Windows-systemet ved hjælp af myr eller java, skal du dele


Der er også en SC-kommando (ved ikke, hvordan man bruger den)

Bedste reference


Hent:


<scp file="${username}:${password}@${ip}:${path-to-file}" todir="${dir}" trust="true" />


eller upload:


<scp file="${path-to-file}" todir="${username}:${password}@${ip}:${dir}" trust="true" />  


Ant scp opgave giver attributter som localFile og remoteFile til at erstatte 'fil', og localTofile/localTodir og remoteTofile/remoteTodir til at erstatte 'dir'. Brug af disse attributter kan hjælpe med at undgå forvirring, når du har brug for nogle scp-opgaver for at hente filer fra serveren til den lokale maskine, mens andre skal uploade filer fra den lokale maskine til serveren.

Sådan kan du lide (for upload):


<scp localFile="${path-to-file}" remoteTodir="${username}:${password}@${ip}:${dir}" trust="true" />


Kontroller myr manualen for at se flere oplysninger:
http://ant.apache.org/manual/Tasks/scp.html[7]


Bemærk:

1. Undgå at kopiere flere filer; Kopier et zip arkiv og en ant build fil sammen med det, og pak ud på målmaskine.

2. Brug scp, skal du konfigurere ssh server på målmaskinen; du skal også sætte jsch.jar i din ANT\_HOME/lib. Jsch.jar kan downloades fra



  

    http://www.jcraft.com/jsch/index.html[8]

  


Andre referencer 1


Du skal bruge FTP til at kopiere filer mellem Windows-maskinerne. Der er også andre protokaler, men du skal gå med FTP.


En prøve til brug af FTP.


<ftp server="${server.location}"
   remotedir="${directory.to.copy}"
   userid="${ftp.username}"
   password="${ftp.password}"
   depends="yes">
   <fileset dir="**Files****"/>
</ftp>


Du kan se nærmere på detaljer her. Der er mange muligheder for at prøve der. [9]

Andre referencer 2


Først downloader du jsch-0.1.53.jar-filen fra http://www.jcraft.com/jsch/i din C: \ apache-ant-1.8.2 \ lib-mappe. Derefter har nedenstående kode i din build.xml [10]


<scp file="${userName}:${password}@${${ip\_address}:${directory}/${FileName}" todir="${localDir\_Where\_to \_Copy}" trust="true" />


Derefter har ovenstående kode kode i din build.xml

Andre referencer 3


For at kopiere en mappe fra din lokale vært til en fjernhost ved hjælp af ant scp, skal du angive
forælder til mappen til filet og medtage mappenavnet f.eks.


<scp todir="user@hostname:/destination/dir/" keyfile="id\_dsa" passphrase="abc" sftp="true" >
    <fileset dir="${parentDir}/"  >
        <include name="**/${dirToCopy}/" />
    </fileset>
</scp> 


sftp='true' hjalp en anden bruger om dette emne, så jeg inkluderede det.
I mit tilfælde mener jeg, at tilføjelsen af ​​'/' i slutningen af ​​parentDir og dirToCopy, hvilket betyder en mappe på kommandolinjen, lad mig endelig kopiere en mappe og ikke kun dens indhold.