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();
此外,还可以通过调用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) 编辑 收藏 举报