ant 将JAVA Web工程部署成war包

一:首先在要打WAR包路径下面新建build.xml文件(至于怎样配置Ant环境变量再此忽略,百度很多),将这编辑build.xml如下:

<?xml version="1.0" encoding="UTF-8"?>    
    
<project name="aneWeb" basedir="." default="makewar">    
    <property name="classpath_lib" value="WebContent/WEB-INF/lib" />    
    <property name="sources" value="${basedir}/src"/>
	<property name="build" value="build/webapp"></property>    
    <property name="src" value="src"></property>  	
    <property name="warName" value="antWebapp"></property>  	
       
    <path id="classpath">  
    <!--添加lib 中的jar 包到软件中-->       
        <fileset dir="${classpath_lib}">       
            <include name="*.jar"/>       
        </fileset> 
 
	
    <!--添加lib 之外的包-->  
	<!-- 额外的jar包
    <fileset dir="D:\Tomcat6.0.2...\lib">  
        <include name="*.jar" />  
    </fileset> 
	-->	
    </path>       
         
    <property name="debuglevel" value="source,lines,vars"/>    
         
    <property name="target" value="1.7"/>    
    <property name="source" value="1.7"/>    
    

	<!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 -->  
    <target name="clean">  
        <delete dir="${basedir}/${build}" />  
        <mkdir dir="${basedir}/${build}" />  
    </target>  
	
    <target name="init" depends="clean">  
          
        <mkdir dir="${build}"/>    
        <mkdir dir="${build}\WEB-INF"/>    
        <mkdir dir="${build}\WEB-INF\classes"/>    
        <mkdir dir="${build}\WEB-INF\lib"/>  
		
	
        <copy todir="${build}">    
            <fileset dir="${basedir}\WebContent">    
                <include name="WEB-INF/**" />    
                <include name="**" />    
                     
            </fileset>    
        </copy>  
	
    </target>    
    <target name="complie" depends="init">  
    <!--添加源文件内容和编码utf-8 因为默是系统的本地时间--> 
		
        <javac srcdir="${src}" destdir="${build}/WEB-INF/classes" encoding="utf-8"  includeantruntime="on"  classpathref="classpath">    
        </javac>    
         
    </target>  
    <!--生成war 包结构-->    
    <target name="makewar" depends="complie">    
        <war warfile="${build}/${warName}.war" webxml="${build}/WEB-INF/web.xml">    
        <lib dir="${build}/WEB-INF/lib">    
            <include name="**" />    
        </lib>    
        <classes dir="${build}/WEB-INF/classes"/>    
        <fileset dir="${build}"/>    
        </war>    
         
    </target>    
          
</project>    

 二:可以在doc环境下 执行ant 命令(默认执行build.xml),当然如果涉及到生产环境需要频繁变更代码的情况下可以写个.bat文件方便快捷,bat文件代码如下:

@echo off
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_11
set ANT_HOME=E:\apache-ant-1.9.6-bin\apache-ant-1.9.6
set path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;%ANT_HOME%\bin;
set ANT_OPTS=-Xmx512m
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

echo "Start build..."
d:
cd d:\workspace\
call ant.bat  -logger org.apache.tools.ant.listener.TimestampedLogger
echo "End"

Pause

 执行bat文件即可

猜你喜欢

转载自taoge-tony.iteye.com/blog/2289297