时间给了够幸福的结局

Java SCP copy local file to remote implementation

最近做的项目中,有一个小需求,需要通过SCP把本地文件copy到远程服务器。查了好多资料,最终解决方案简单快速,分享一下。

在这里,需要用到4个jar包,分别是ant-jsch.jar,ant-launcher.jar,ant.jar,jsch-0.1.52.jar。

前三个jar包,可以去http://ant.apache.org/bindownload.cgi下载最新的apache ant zip archive, 目前最新版本是apache-ant-1.9.7-bin.zip。解压之后,在lib文件夹下可以找到上述三个jar包。

jsch-0.1.52.jar可通过https://sourceforge.net/projects/jsch/下载。

把这几个jar包引入到项目中后,就可以用org.apache.tools.ant.taskdefs.optional.ssh.Scp来进行文件的网络传输了,代码如下:

 

 1 Scp scp = new Scp();
 2 int portSSH = 22;
 3 String srvrSSH = "bjcore-geda06.int.thomsonreuters.com";
 4 String userSSH = "oracle"; 
 5 String pswdSSH = "oracle";
 6 String localFile = "D:\\dx_test.html";
 7 String remoteDir = "/home/oracle/";
 8 
 9 scp.setPort( portSSH );
10 scp.setLocalFile( localFile );
11 scp.setTodir( userSSH + ":" + pswdSSH + "@" + srvrSSH + ":" + remoteDir );
12 scp.setProject( new Project() );
13 scp.setTrust( true );
14 scp.execute();
View Code

 

此外,还可以通过调用org.apache.tools.ant.taskdefs.optional.ssh.SSHExec来执行shell脚本。

如果想直接使用JSCH来完成上述操作,也可以参考org.apache.tools.ant.taskdefs.optional.ssh中的相应代码。

posted on 2016-10-12 10:44  时间给了够幸福的结局  阅读(360)  评论(0编辑  收藏  举报