原本佈署的工作得在兩個server間用putty換來換去的
今天閒來無事就想說用ant一次解決好了
果然,ant沒讓人失望!
第一步:
引用
自Ant1.60開始支持了SSH 及SCP 操作了,早在Ant之前若要支持SSH、SCP、SFTP等任務就必須下載j2ssh的j2ssh-ant.jar和j2ssh-core.jar(在http://www.sourceforge.net的j2ssh下有下載)。
現在可以使用Ant提供的Sshexec和scp任務,由$ANT_HOME/lib/ant-jsch.jar提供支持,但是同樣你也要在
http://www.jcraft.com/jsch/index.html下載一個依賴包jsch-0.1.24.jar(文件名因版本而不同),jsch同樣也是http://www.sourceforge.net下的一個項目。
你需要把下載的jsch-0.1.24拷貝到$ANT_HOME/lib下,如果是Eclipse下的Ant環境必須在
Window->Preferences->Ant->Runtime->Classpath中加入jsch-0.1.24。
第二步:
引用
<target name="sshexec">
<sshexec host="192.168.122.180" username="root" password="123456"
trust="true" command="cd /;ls"/>
</target>
注意上面的trust屬性一般設置為true, 如果為默認值false時,那麼就要求你所連接的host必須存在於你的knownhosts文件中,並且這個文件也必須是存在的,否則會出現 com.jcraft.jsch.JSchException: reject HostKey: 192.168.122.180異常。
執行Linux下的命令時可以用分號";"把多個命令隔開,它們將會依次執行,而不需要寫多個sshexec進行多次連接,每次連接只執行一個命令。
官方的說明:
http://ant.apache.org/manual/OptionalTasks/sshexec.html
有一點很奇怪,就是我在呼叫remote的ant時都會找不到,最後只好使用絕對路徑。
分享到:
相关推荐
要使用Ant进行SSH和SCP操作,你需要在Ant构建文件(build.xml)中定义相应的任务。J2SSH Ant扩展提供了一些任务,如`sftp`、`sshexec`和`scp`。以下是一些基本示例: 1. `scp`任务:用于复制文件到远程主机。你需要...
在Ant构建工具中,我们有时需要执行远程操作,如上传或下载文件,这通常通过SSH(Secure Shell)或SCP(Secure Copy)协议来实现。标题提到的"ant下使用ssh或者scp所需要的包"指的是在Ant任务中集成SSH和SCP功能所...
SSH2集成了Secure Copy (SCP)、Secure File Transfer Protocol (SFTP)、远程命令执行等功能,是开发人员在部署和管理分布式系统时的重要工具。而Ant是一个由Apache软件基金会开发的Java构建工具,它使用XML来定义...
标题提到的是一个名为"tool"的工具软件,它利用了ANT技术来自动生成功能代码,特别是针对SSH(Struts2、Hibernate、Spring)这三种技术的集成应用。这意味着这个工具能够帮助开发者快速搭建基于SSH框架的项目,减少...
在“ant打包”这个环节,Ant是Apache的一个开源构建工具,它使用XML定义构建过程,可以执行编译、测试、部署等任务。在SSH2项目中,Ant可以用来编译源代码,生成类文件,然后将这些文件、配置文件、库文件等打包成一...
这意味着开发者可以使用Ant脚本来执行远程系统的操作,如启动服务、部署应用、执行系统命令等,极大地提高了开发效率。 另一个文件"ant.license.txt"则是关于Ant的许可协议,它详细阐述了Ant软件的使用、复制、修改...
在Ant中,通常使用`scp`任务来实现这个功能,它依赖于JSCH库(JavaScript SSH 2 Library),这是一个用Java编写的SSH2库,支持SFTP(SSH File Transfer Protocol)以及SCP。在提供的文件列表中,我们看到`jsch-0.1....
**Java SSH API (J2SSH) 使用文档** SSH(Secure Shell)是一种广泛使用的网络安全协议,定义了在不安全网络上进行安全通信的规范。J2SSH 是一个基于 Java 的 SSH API,它允许开发者在 Java 应用程序中集成 SSH ...
4. **执行SSH任务**:运行Ant构建脚本,利用`sshexec`或`scp`等任务执行SSH操作。 总的来说,`ant-jsch-1.6.jar.zip`提供了一种方便的方式来集成Ant和JSch,从而让Java开发者能够在构建流程中无缝地执行SSH操作,...
4. `ant-jsch.jar`: Jsch是一个纯Java实现的SSH2库,使得Ant能够通过SSH协议进行远程操作,例如复制文件到远程服务器。 5. `ant-apache-oro.jar`: 包含了Apache Jakarta ORO库,它是一个正则表达式和模式匹配库,...
可从Ant使用的简单SSH任务。 包括三个SSH Ant任务:*在Ant中通过SSH运行一个/多个命令。 *在Ant中通过SSH上传一个/多个文件。 *在Ant中通过SSH下载一个/多个文件。 由于不需要外部库即可添加到您的Ant安装中,因此类...
3. 可能还有其他依赖库,如`ant-javamail.jar`、`ant-jsch.jar`等,它们为Ant提供了额外的功能,比如发送电子邮件或使用SSH执行远程任务。 使用Apache Ant,开发者可以定义一系列目标(target),每个目标代表一个...
标题中的“ant远程上传并部署tomcat”是指使用Apache Ant工具执行自动化构建任务,将本地的Web应用(如WAR或EAR文件)传输到远程Linux服务器的Tomcat应用服务器上进行部署,并随后重启Tomcat服务以使更改生效。Ant是...
总结,"ant-jsch-1.6.2.jar.zip"是一个用于集成Ant和JSch的工具包,它提供了在Ant构建脚本中执行SSH操作的能力。开发者可以利用它实现自动化部署、远程系统监控等多种功能。尽管它属于较早的版本,但其稳定性和兼容...
标题“ant使用scp上传文件问题...总之,解决“ant使用scp上传文件问题”需要对Ant构建脚本、SCP协议、SSH服务器配置以及可能的权限和网络问题有深入的理解。通过排查上述问题点,并参考相关文档,通常能解决此类问题。
5. **jsch-0.x.jar**:支持通过SSH进行远程操作,如文件传输、执行命令等。 6. **junit.jar**:JUnit测试框架的库,用于编写和执行单元测试。 7. **xml-apis.jar** 和 **xercesImpl.jar**:提供了XML解析的支持,...
它简化了在Ant构建流程中利用SSH连接的步骤,提供了文件传输和命令执行等能力。而"ant.license.txt"则提醒我们尊重和遵守开源软件的许可证规定。正确理解和使用这个工具可以帮助开发者提高自动化构建的效率,尤其是...
6. **自动化部署**:SSH2连接可以用于自动化部署流程,比如使用Java代码触发远程脚本执行,更新代码库,或启动/停止服务。 7. **错误处理和日志记录**:为了确保可靠性和可维护性,项目可能包含了详尽的错误处理和...
4. `sshexec`:使用SSH执行远程命令,将文件上传到Linux服务器。 5. `untar`或`unzip`:在服务器端解压文件。 6. `deploy`:执行服务器上的部署脚本,例如更新应用服务器的上下文路径。 最后,关于**发布到LINUX**...
例如,使用Ant进行项目构建,并通过JSch执行远程服务器的SSH操作。以下是一个简单的示例,展示了如何在Java代码中使用JSch连接到远程服务器: ```java import com.jcraft.jsch.*; public class JschExample { ...