Ant scp upload文件至linux server(用java调用Ant api)

1.要准备的jar包:ant.jar,ant-jsch.jar

code:

package com.test.utils;

import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.optional.ssh.Scp;

public class SCPHandler {

    private String keyFilePath;

    private String ip;

    private String user;

    private String psw;

    private int port;

    public SCPHandler(String keyFilePath, String ip, String user, String psw,
            int port) {
        this.keyFilePath = keyFilePath;
        this.ip = ip;
        this.user = user;
        this.psw = psw;
        this.port = port;
    }

    public boolean scpHandler(String toDir, String srcFile) {
        boolean flag = false;
        try {
            Project project = new Project();
            Scp scp = new Scp();
            scp.setProject(project);
            scp.setKeyfile(keyFilePath);
            if (psw != null)
                scp.setPassword(psw);
            scp.setPort(port);
            scp.setFile(srcFile);
            scp.setTodir(user + "@" + ip + ":" + toDir);
            scp.setTrust(true);
            scp.execute();
            flag = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return flag;
    }

    public static void main(String[] args) {
        SCPHandler sh = new SCPHandler(
                "C:/192.168.1.1.ppk",
                "192.168.1.2", "user", null, 22);
        sh.scpHandler("/home/user",
                "C:/test.zip");
    }
}

 2.如果用Ant的build.xml:

<project name= "myproject" basedir= "." default="scp">    
    <target name="scp">      
        <echo message="---------------------------------------"/>  
        <scp file="${basedir}/test.zip" todir="user@192.168.1.2:/home/user" keyfile="${basedir}/192.168.1.1.ppk" trust="yes"/>
    </target>  
</project>

备注:上面的ppk文件是一个keyfile,如果没有的话,可以适当修改代码或xml文件即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值