用ant进行项目无忧部署

原创 2006年05月18日 22:31:00
我们的项目比较特殊,基本上每天都要发布一次。为了不影响系统的正常使用,我们的做法是在下班之前把打包好的war放到服务器的一个目录下面(eg:d: /bak)。然后用windows的计划任务在晚上12点自动部署系统,也就是net stop tomcat,删除xx.war,删除xx,然后把d:/bak/xx.war拷贝到webapps下面。然后再net start tomcat。这样在第二天来的上班的时候就可以使用升级过的系统了。也不会影响其他人的使用,不需要中断操作。
    关于项目的一个配置我的前几篇文章我也提到过,那个upload的问题就不会发生了。还有就是关于项目开发中的一些问题。比如数据库的连接地址, upload directory的配置等,这些在团队中的每个人都是不一样的,那么在发布的时候都要改成服务器上的正确配置,如果一个月部署一次这到没有什么。但是像 我们这样每天部署就不是那么轻松了。而且如果一时不注意很容易造成配置的不正确。所以对于很多配置文件我们都有两份。一份是用户自己开发用的,一份是部署 到服务器的配置,这样在开发的时候团队中的每个人都不一样,关于服务器的配置都是一样的,在发布的时候是用的服务器的配置而不是用开发用的配置。eg: web.xml(个人的配置)web-dest.xml 而关键的配置也就是下面这段。
web.xml
    <context-param>
        
<param-name>contextConfigLocation</param-name>
        
<param-value>
            classpath:spring/*_context.xml,
            classpath:spring/global.xml 

        
</param-value>
    
</context-param>
web-dest.xml
    <context-param>
        
<param-name>contextConfigLocation</param-name>
        
<param-value>
            classpath:spring/*_context.xml,
            classpath:spring/global-dest.xml,
            classpath:spring/scheduler.xml
        
</param-value>
    
</context-param>
注 意到其中不一样的。dest里少了scheduler.xml这个主要是定时执行的一些任务,一般在开发的时候都不需要,去掉也可以提升速度,也不会出现 那么多的log。还有就是发布的web.xml用了global-dest.xml这个是关于spring的总的配置。
global.xml
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.240:1433/fivefortunes;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
    
    
<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.240:1433/outmail;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
    
    
<bean id="customDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.240:1433/custom;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
global-dest.xml
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.5:1433/fivefortunes;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
    
    
<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.5:1433/outmail;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
    
    
<bean id="customDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.5:1433/custom;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
还有关于一些properties文件我们采用了用ant部署的时候改名字来达到目的。
build.xml
        <move file="${dist.dir}/mail.properties" tofile="${dist.dir}/mail-dev.properties" />
        
<copy file="${dist.dir}/mail-dest.properties" tofile="${dist.dir}/mail.properties" />
        
<move file="${dist.dir}/upload.properties" tofile="${dist.dir}/upload-dev.properties" />
        
<copy file="${dist.dir}/upload-dest.properties" tofile="${dist.dir}/upload.properties" />

这个是在war之前做的,大家眼看也就明白吧,就是把xx-dest.properties,改名成xx.propeties。在打完包之后
        <move file="${dist.dir}/mail-dev.properties" tofile="${dist.dir}/mail.properties" />
        
<move file="${dist.dir}/upload-dev.properties" tofile="${dist.dir}/upload.properties" />
这样就达到了我们无忧的目的了。只要每天部署的时候保证程序能正常运行,ant war一下就安心部署吧。
以上就是全部内容,如果有什么不正确欢迎砸板砖。

eclipse使用Ant组件自动部署项目到tomcat6.0

手动部署javaweb项目到tomcat服务器实属麻烦,贴来贴去。但有了Ant工具,我想你会瞬间爱上它,稍微配置一下Ant就帮你自动部署项目到tomcat上了,下面描述下使用ant部署项目的步骤: 准...
  • Javanjg
  • Javanjg
  • 2016年08月08日 15:22
  • 1753

用Ant实现Java项目的自动构建和部署/Eclipse下使用Ant

转载处:http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html
  • qq_17438907
  • qq_17438907
  • 2014年12月26日 18:06
  • 923

使用ant编译发布web项目

本文就不对ant进行详细介绍,直接对一个实际项目的自动构建和部署等进行说明。build.xml 内容主要分为2部分:项目编译库的配置 和 项目自动构建部署的编写1、配置项目编译库classpath ...
  • catoop
  • catoop
  • 2015年08月05日 15:29
  • 5132

ant+svn检出并部署项目

不需要安装ant环境,ant项目结构如下 config.properties配置#部署项目(逗号分隔) projects=bhjf,mfjk#源码检出目录 svncode.path=svncode#...
  • Ragin
  • Ragin
  • 2017年04月10日 16:06
  • 492

使用ant构建有依赖库的项目

我们来看看一个build脚本 Create a Java Project (JAR) with Ant build script ...
  • u013571243
  • u013571243
  • 2016年12月03日 13:25
  • 1335

更改项目名称和Ant部署的EAR包的名称相关问题

重新添加一个任务的时候遇到了一系列的问题,首先
  • u012514606
  • u012514606
  • 2014年05月08日 22:07
  • 821

ant全自动更新部署web程序的详解

经常部署web应用程序的朋友可能会有这样的感受,由于每次部署花费的时间都比较多:要从svn服务器更新代码,修改配置文件、甚至还要解决文件冲突,再打包,再上传到服务器端(网速不给力要等好久),然后还要停...
  • zuoluoboy
  • zuoluoboy
  • 2014年03月22日 11:11
  • 9125

ant发布web项目,tomcat管理界面发布war项目

今天用apache-ant-1.9.4 版本对 java web项目-adjustSolr 打包为war,并发布到tomcat中(一定要注意开发用的jdk版本和tomcat中的jdk版本一致,否则un...
  • qing419925094
  • qing419925094
  • 2014年12月01日 19:29
  • 1480

ANT 部署应用到服务器 (tomcat,weblogic,webphare)

ANT在Java界和开源世界里面的地位大家都知道,虽然ANT在近年来不断受到Maven和一切其他工具的冲击,但仍然占据着统治地位,虽然Maven声称自己能为开发真提供更多的东西,但是貌似习惯ANT的人...
  • Botaruibo
  • Botaruibo
  • 2012年08月28日 09:43
  • 1287

eclipse导入ant项目

1. ant generate-eclipse-files 2.  打开Eclipse 选择 File -> New -> Project. 3. 选择 Java Project from E...
  • firstephen
  • firstephen
  • 2014年04月03日 16:55
  • 14974
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用ant进行项目无忧部署
举报原因:
原因补充:

(最多只允许输入30个字)