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文件即可。
Ant scp upload文件至linux server(用java调用Ant api)的更多相关文章
- java 调用ant的自己定义task,默认不是build.xml 的一点问题
java 调用ant的自己定义task, File buildFile = new File(".//ee-build.xml"); // 创建一个ANT项目 ...
- SpringBoot 上传文件到linux服务器 异常java.io.FileNotFoundException: /tmp/tomcat.50898……解决方案
SpringBoot 上传文件到linux服务器报错java.io.FileNotFoundException: /tmp/tomcat.50898-- 报错原因: 解决方法 java.io.IOEx ...
- Linux系统上java调用C++ so库文件
PART1: java中使用jna替代jni调用c++/c生成的 dll/so库文件需要做的事项 1.引入JNA依赖或者直接下载JNAjar包 <!-- http ...
- windows和linux环境下java调用C++代码-JNI技术
最近部门做安卓移动开发的需要调C++的代码,困难重重,最后任务交给了我,查找相关资料,没有一个教程能把不同环境(windows,linux)下怎么调用说明白的,自己在实现的过程中踩了几个坑,在这里总结 ...
- Java 调用 Rest api 设置经典 Linux 虚拟机的实例启停
现象描述 用户可以通过 Rest API 设置经典 Linux 虚拟机实例的启停.在调用该 API 时需要通过 Azure Active Directory(下文简称 AAD) 获取 Token,但是 ...
- java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例
1.先下载cxf包https://download.csdn.net/download/suizhikuo/108112362.解压缩包,通过cmd命令进入到bin目录下(cd cxf\bin的路径) ...
- Linux平台下Java调用C函数
JNI是Java native interface的简写,可以译作Java原生接口.Java可以通过JNI调用C/C++的库,这对于那些对性能要求比较高的Java程序无疑是一个 福音. 使用JNI也是 ...
- wsdl 生成 java 代码 java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例 推荐使用, 并且设置了 utf8
推荐使用, 并且设置了 utf8 wsdl2java -p cn.smborderservice -encoding utf-8 -d f:\logink\src -all -autoNameRes ...
- Linux scp 远程文件/目录传输
Linux scp远程文件/目录传输 1.获取远程服务器上的文件 scp -P 22 root@www.test.com:/root/test.tar.gz /home/test.tar.gz 上端口 ...
随机推荐
- NumPy与ndarray简介(转)
http://blog.csdn.net/u014374284/article/details/45420645 一.NumPy简介 NumPy的全名为Numeric Python,是一个开源的Pyt ...
- Chrome DevTools — Network
Chrome DevTools — Network https://segmentfault.com/a/1190000008407729 chrome DevTools的各种使用: 在dev too ...
- (转)Unity3D研究院之IOS&Android收集Log文件
转自:http://www.xuanyusong.com/archives/2477 有段时间没有写过文章了,不知道大伙儿还记得雨松MOMO吗? 嘿嘿. 开发项目的时候尤其在处理与服务器交互这块,如果 ...
- 'Lock wait timeout exceeded; try restarting transaction'问题
OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction') 原因很简单,太多错误,意外处理没有 ...
- memory拷贝与string拷贝的区别
1.memory拷贝,根据拷贝的字节个数,从src一个一个字节拷贝到dst,拷贝过程不管src的取值,也不管dst是否能容纳.2.因此,对于memory拷贝,src中NULL字符(取值为0的字符)后面 ...
- 解剖 CPU(另)
http://itbbs.pconline.com.cn/notebook/11026377.html 话不多说,这个处理器,就是今天我们要厮杀的对象! 1. 案板上的她,静静等等手术的进行! 2. ...
- requestFeature() must be called before adding content产生原因和解决办法
03-24 01:07:31.504 2957-2957/com.santai.jrj E/AndroidRuntime: FATAL EXCEPTION: main Process: com.san ...
- 定时执行任务FluentScheduler
private void Form1_Load(object sender, EventArgs e) { Registry registry = new Registry(); registry.S ...
- Qt通过ODBC连接SQL Server2008实践总结
Qt连接数据库的方式很多,这里说明一种最常用也是最实用的方式,因为这种方式在Windows上开发程序使用起来非常方便,并且也是远程连接数据库所需要用到的方式. 前提工作: 在Win7下安装了SQL S ...
- 从#!/bin/bash中想到的...
罪过罪过,开发了N年的SHELL,竟然第一次思考#!/bin/bash是啥意思?真是怀疑以前的的代码是咋开发出来的- 如果要解释#!/bin/bash是啥意思?为啥每个SHELL脚本第一行都写它哪?首 ...