我们开发一个web程序,如果需要部署到远程服务器,第一次的时候可能需要将所有的程序完全部署,再以后每次更改一个很小的东西。在进行部署的时候如果按照第一次部署的那样,把更改过和没有更改的东西都上传到远程服务器,相对于改动的东西来说可能后者更花费你的时间。
解决这个问题。我以前都是重复着那些简单而繁琐的劳动。当然通过cvs进行同步的话,可能也是比较快的。但是那样又需要加入cvs服务器,对于小项目来说这样可能又把简单的事情搞复杂了。通过ant可以很方便的实现这个部署。我目前只是过滤掉了已经上传过的jar包,因为对于整个项目来说这些包可能占用了80%左右。而且他们基本上不会更改。
<?xml version="1.0"?>
<project default="main">
<target name="init">
<property name="file.war" value="websiteConfig.war" />
<property name="server.ftp.userId" value="root" />
<property name="server.ftp.password" value="rootclose" />
<property name="server.ftp.serverIp" value="218.000.000.000" />
<property name="dir.lib" value="E:\work\lib" />
<path id="project.class.path">
<pathelement location="${dir.classes}" />
<pathelement location="${dir.jdk}/jre/lib/rt.jar" />
<fileset dir="${dir.lib}">
<include name="**/*.jar" />
</fileset>
</path>
<echo message="hello"/>
</target>
<target name="deploy" depends="init" >
<ftp server="${server.ftp.serverIp}"
userid="${server.ftp.userId}" password="${server.ftp.password}" remotedir="/usr/local">
<fileset dir="./WebRoot/" casesensitive="yes">
<exclude name="WEB-INF/lib/*.jar"/>
<exclude name="WEB-INF/classes/applicationContext.xml"/>
</fileset>
</ftp>
</target>
<target name="main" description="" depends="deploy">
</target>
</project>
这个build.xml主要是为了开发期间的部署,所以没有对项目进行打包,主要是把文件上传到远程服务器。
<fileset dir="./WebRoot/" casesensitive="yes">
<exclude name="WEB-INF/lib/*.jar"/>
<exclude name="WEB-INF/classes/applicationContext.xml"/>
</fileset>
ant中ftp标签通过上面的参数来控制上传的内容。exclude不要指定目录,否则他只过滤当天根目录,不过滤子目录,这个地方也是测试了很长时间才发现。目前只是把花费时间过多的jar过滤掉了。至于如果能只上传最新更改的文件。目前还没有找到,可能某个标签就可以支持。等以后发现再补充吧。
分享到:
相关推荐
标题中的“ant远程上传并...通过这种方式,开发者可以实现快速、自动化的远程部署流程,提高开发效率和团队协作。这种自动化部署方法在持续集成/持续部署(CI/CD)流程中尤其重要,可以减少手动操作的错误和时间消耗。
在这个主题中,我们将深入探讨CXF的Interceptor拦截器、处理复杂类型对象的传递以及如何结合Spring进行集成,最后我们将学习如何使用ANT工具快速构建和部署CXF工程。 1. CXF Interceptor拦截器: 拦截器是CXF框架...
4. "Eclipse中自动通过ant脚本把web应用部署到tomcat中.doc":这将涉及如何在Eclipse这样的IDE中配置和运行Ant脚本,以便于快速将Web应用部署到本地或远程的Tomcat服务器上。 在实际开发中,Ant可以执行一系列任务...
标题 "Hudson+Ant+SVN+Tomcat实现快速构建(一)" 涉及的是在软件开发中使用一系列工具进行自动化构建的过程。这个过程是持续集成的一部分,旨在提高开发效率,确保代码质量,并减少错误。以下是这些工具在构建流程...
- **部署**:通过ftp或scp任务,Ant可以将构建结果上传到远程服务器,实现自动部署。 五、高级话题 - **Ant的扩展**:Ant提供插件机制,通过引入第三方插件,如ivy,可以实现对其他依赖管理工具的支持。 - **Ant与...
总结起来,"ant-installer.jar.zip"提供了安装Ant所需的所有组件,通过运行"ant-installer.jar"即可快速部署。Ant作为一个强大的构建工具,通过XML配置文件实现自动化构建流程,包括编译、测试、打包等,同时支持...
- **部署应用程序**:编写Ant脚本中用于部署应用程序的部分,例如使用`<scp>`命令将打包好的文件复制到远程服务器上。 #### 五、持续集成的最佳实践 1. **持续改进**:持续集成不仅仅是一次性的设置,而是需要...
7. **fetch.xml** 和 **get-m2.xml**: 这些是Ant的XML构建文件示例,可能用于演示如何从远程仓库获取资源或管理Maven依赖。 8. **bin** 目录: 包含了运行Ant的可执行脚本,如`ant`和`ant.bat`,分别用于Unix/Linux...
4. **Ant构建工具**:介绍如何使用Ant编写build.xml文件,实现项目的编译、打包和部署。Ant任务如`ejb-jar`和`ear`可以帮助我们生成EJB JAR和EAR文件。 5. **实战示例**:提供一个简单的EJB3应用程序实例,如用户...
* Windows部署:使用SpringBlade可以快速实现Windows部署,通过简单的步骤可以生成一个基本的Windows生产环境平台。 * Linux部署:使用SpringBlade可以快速实现Linux部署,通过简单的步骤可以生成一个基本的Linux...
这可以通过实现`org.apache.tools.ant.Task`接口或继承已有的Task类来完成,大大增强了Ant的可扩展性。 6. **条件与选择** Ant提供了条件语句,如`<if>`和`<unless>`,可以根据特定条件决定是否执行某个任务。此外...
ANT是一种低功耗、低成本且快速部署的2.4GHz无线通信技术,由Dynastream和Nordic等公司推出,相比蓝牙和Zigbee等其他无线技术,ANT在功耗、成本和开发周期上有优势,适合短距离通信。 系统架构分为三个层次:服务器...
- **远程部署**: 通过管理控制台还可以实现远程部署,只需选择一个本地的 `.war` 文件即可快速部署到远程服务器上。 #### 五、总结 本文详细介绍了如何使用Glassfish部署Web应用的过程,包括开发工具的选择、...
- **Ant/Maven 远程部署**:结合构建工具实现自动化部署。 #### 四、云环境下的部署 ##### 4.1 部署 - **集群部署**:利用 Resin 的集群功能实现高可用性和负载均衡。 - **重启控制**:精细化管理重启策略,减少...
这个库使用了Ant构建工具,Ant是Apache软件基金会的一个项目,它是一个基于XML的构建工具,用于自动化Java项目的编译、测试和部署过程。 在SNMP4J 1.11.3的源码中,开发者可以找到以下关键组件: 1. SNMP消息处理器...
Ant可通过`scp`、`ftp`等网络传输方式实现远程部署,或者利用特定插件完成容器部署等工作。 **1.10 启动构建脚本** 有时,为了简化构建过程,开发者需要在构建脚本中加入引导逻辑。这部分内容将指导如何实现这一...
配置 Maven 的 tomcat-maven-plugin 插件,可以设置远程部署的 URL、用户名和密码,通过 `mvn deploy` 命令将 `.war` 文件自动上传到远程的 Tomcat 服务器。 总结: Apache Maven 是一个强大的项目管理和构建工具,...