Java 使用SFTP上传文件

Java 使用SFTP上传文件,java,tomcat,sftp,Java,Tomcat,Sftp,我正试图通过以下代码将文件上传到本地系统中tomcat的webapps文件夹,我们是否需要在使用此代码之前进行任何安装 public class DeployManager { public static void main(String[] args) { String SFTPHOST = "1.2.3.4"; int SFTPPORT = 22; String SFTPUSER = "username"; String SFTPPASS = "passw

我正试图通过以下代码将文件上传到本地系统中tomcat的webapps文件夹,我们是否需要在使用此代码之前进行任何安装

public class DeployManager {

public static void main(String[] args) {

    String SFTPHOST = "1.2.3.4";
    int SFTPPORT = 22;
    String SFTPUSER = "username";
    String SFTPPASS = "password";
    String SFTPWORKINGDIR = "C:\\Program Files\\Apache Software Foundation\\Tomcat 8.0\\webapps\\";
    Session session = null;
    Channel channel = null;
    ChannelSftp channelSftp = null;
    try {
        JSch jsch = new JSch();
        session = jsch.getSession(SFTPUSER, SFTPHOST, SFTPPORT);
        session.setPassword(SFTPPASS);
        java.util.Properties config = new java.util.Properties();
        config.put("StrictHostKeyChecking", "no");
        session.setConfig(config);
        session.connect();
        channel = session.openChannel("sftp");
        channel.connect();
        channelSftp = (ChannelSftp) channel;
        channelSftp.cd("..");
        channelSftp.cd(SFTPWORKINGDIR);
        File f = new File("C:\\Users\\Jainesh_Trivedi\\Desktop\\WAR\\AutohostDemo1_1145.war");
        channelSftp.put(new FileInputStream(f), f.getName());
    } catch (Exception ex) {
        ex.printStackTrace();

    }
}}
但我得到了以下错误:

    com.jcraft.jsch.JSchException: java.net.ConnectException: Connection refused: connect
    at com.jcraft.jsch.Util.createSocket(Util.java:258)
    at com.jcraft.jsch.Session.connect(Session.java:186)
    at com.jcraft.jsch.Session.connect(Session.java:145)
    at com.autohost.java.DeployManager.main(DeployManager.java:30)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at com.jcraft.jsch.Util.createSocket(Util.java:252)
    ... 3 more
com.jcraft.jsch.JSchException:java.net.ConnectException:拒绝连接:连接
位于com.jcraft.jsch.Util.createSocket(Util.java:258)
位于com.jcraft.jsch.Session.connect(Session.java:186)
位于com.jcraft.jsch.Session.connect(Session.java:145)
位于com.autohost.java.DeployManager.main(DeployManager.java:30)
原因:java.net.ConnectException:连接被拒绝:连接
位于java.net.DualStackPlainSocketImpl.connect0(本机方法)
位于java.net.DualStackPlainSocketImpl.socketConnect(未知源)
位于java.net.AbstractPlainSocketImpl.doConnect(未知源)
位于java.net.AbstractPlainSocketImpl.connectToAddress(未知源)
位于java.net.AbstractPlainSocketImpl.connect(未知源)
位于java.net.PlainSocketImpl.connect(未知源)
位于java.net.socksocketimpl.connect(未知源)
位于java.net.Socket.connect(未知源)
位于java.net.Socket.connect(未知源)
位于java.net.Socket。(未知源)
位于java.net.Socket。(未知源)
位于com.jcraft.jsch.Util.createSocket(Util.java:252)
... 3个以上

您需要确保sftp在IP为“10.74.64.102”的机器上运行。我想这是你本地的windows机器

好的,我如何在本地系统@saril sudhakara上运行sftp?您需要安装sftp软件,如