日期:2014-05-16  浏览次数:20615 次

使用Jsch上传文件到linux或执行命令行

什么是Jsch ?

JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。你可以将它的功能集成到你自己的 程序中。同时该项目也提供一个J2ME版本用来在手机上直连SSHD服务器。

本文目的 ?

由于工作的原因涉及到从本地上传多个文件到远程服务器上,上传之后并执行远程服务器上的脚本,为了实现这些步骤的自动化,所以做了些技术尝试。

如何实现?

很简单 贴代码。

1. 创建Maven项目,导入相关依赖。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.XXX.rapid.deploy</groupId>
  <artifactId>rapid-deploy</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>rapid-deploy</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <scope>test</scope>
    </dependency>
    <dependency>
	  <groupId>com.jcraft</groupId>
	  <artifactId>jsch</artifactId>
	  <version>0.1.48</version>
	</dependency>
  </dependencies>
</project>

2. 用TDD的方式开发,我们先写一个连接服务器的测试。