非常感谢您的回答!有用!我用sftp上传文件夹中的webapps文件夹中的Tomcat服务器。由于在server.xml autodeploy = true,我不必做HTTP PUT请求。这里是我的代码,基于此link:
String SFTPHOST = "1.2.3.4";
int SFTPPORT = 22;
String SFTPUSER = "root";
String SFTPPASS = "password";
String SFTPWORKINGDIR = "/home/username/apache-tomcat-8.0.23/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("path/to/war");
channelSftp.put(new FileInputStream(f), f.getName());
} catch (Exception ex) {
ex.printStackTrace();
}
Tomcat是否安装在与Eclipse相同的机器上? – MadConan
不,它在不同的机器上。我可以使用Tomcat管理器来部署Web服务,但我想从具有http PUT请求的java代码执行此操作。 – bloox