`
shihuan830619
  • 浏览: 584083 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ant打包Web工程

web 
阅读更多
build.properties文件内容如下:
project        = Tqla
version        = 1.1.1

build.compiler = modern
[color=green]#build.compiler = classic
#build.compiler = jikes[/color]

year           = 2012
debug          = on
optimize       = on
deprecation    = on

os             = windows
[color=green]# os             = linux[/color]
author         = Jambhala
email          = shihuan830619@163.com
url            = www.shihuan.com.cn 
company        = shihuan


build.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>

[color=brown]<!-- build.xml和build.properties文件要放在跟WebRoot平级目录下 -->
<!-- Build file for project -->
<!-- ${basedir}就是TestQuartz工程的名字 -->[/color]
<project basedir="." default="publish" name="TestQuartz">
	
	<property file="${basedir}/build.properties" description="加载ant的properties文件" />
	
    <target name="init" description="设置初始化打war包需要的路径变量">  
        <property name="name" value="TestQuartz"/>  
        <property name="src" value="${basedir}/src"/>  
        <property name="lib" value="${basedir}/WebRoot/WEB-INF/lib"/>  
        <property name="webapp" value="${basedir}/WebRoot"/>  
        <property name="packages" value="com.*"/>  
          
        <property name="build.src" value="${basedir}/dist/src"/>  
        <property name="build.class" value="${basedir}/dist/WEB-INF/classes"/>  
        <property name="buildwar.dest" value="${basedir}/dist"/>  
        <property name="build.javadocs" value="${basedir}/dist/doc"/>  
        <property name="jar.dest" value="${basedir}/dist/jar"/>  
        <property name="war.dest" value="${basedir}/dist/war"/>
    	<property name="ear.dest" value="${basedir}/dist/ear"/>
    	<property name="zip.dest" value="${basedir}/dist/zip"/>
    	<property name="db.dest" value="${basedir}/dist/db"/>
    	<property name="doc.dest" value="${basedir}/dist/doc"/>
    	<property name="xls.dest" value="${basedir}/dist/xls"/>
          
        <property name="tomcat.home" value="D:\Tomcat 7.0"/>  
        [color=brown]<!--
        <property name="j2eelib.dir" value="D:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5"/>    
        -->[/color]
    	
    	<echo message="----------- ${project} ${version} [${year}] ------------" />
    	<echo message="----------- ${src} ------------" />
    	<echo message="----------- ${lib} ------------" />
    	<echo message="----------- ${webapp} ------------" />
    	<echo message="----------- ${build.src} ------------" />
    	<echo message="----------- ${build.class} ------------" />
    	<echo message="----------- ${buildwar.dest} ------------" />
    	<echo message="----------- ${build.javadocs} ------------" />
    	<echo message="----------- ${jar.dest} ------------" />
    	<echo message="----------- ${war.dest} ------------" />
    	<echo message="----------- ${tomcat.home} ------------" />
    	
        <path id="classpath" description="设置依赖jar文件">  
            [color=brown]<!--
            <fileset dir="${j2eelib.dir}">  
                <include name="**/*.jar"/>  
            </fileset>
            -->[/color]  
            <fileset dir="${lib}">  
                <include name="**/*.jar"/> 
            	<exclude name="**/*.bak"/>
            </fileset>  
        </path>
    	
    	<filter token="year" value="${year}" />
	  	<filter token="version" value="${version}" />
	  	<filter token="date" value="${TODAY}" />
	  	<filter token="log" value="true" />
	  	<filter token="verbose" value="true" />
    </target>  
      
    <target name="prepare" depends="init" description="创建打包需要的路径,拷贝源文件到打包路径下">  
        <mkdir dir="${build.src}"/>  
        <mkdir dir="${build.class}"/>  
        <mkdir dir="${buildwar.dest}"/>  
        <mkdir dir="${jar.dest}"/>  
        <mkdir dir="${war.dest}"/>  
    	<mkdir dir="${ear.dest}"/> 
    	<mkdir dir="${zip.dest}"/>
    	<mkdir dir="${db.dest}" />
    	<mkdir dir="${doc.dest}" />
    	<mkdir dir="${xls.dest}" />
        <copy todir="${build.src}">  
            <fileset dir="${src}"/>  
        </copy>
        <copy todir="${buildwar.dest}">  
            <fileset dir="${webapp}"/>  
        </copy>  
    </target>  
      
    <target name="build" depends="prepare" description="编译java文件,拷贝properties属性配置文件到编译后的路径下">  
        <javac srcdir="${build.src}" destdir="${build.class}">  
            <classpath refid="classpath" description="依赖上面path标签设置的jar文件" />  
        </javac>  
        <copy todir="${build.class}">  
            <fileset dir="${build.src}">  
                <include name="**/*.properties"/>
            	<exclude name="**/*.bak"/>
            </fileset>  
        </copy>  
    </target>  
    
	<target name="javadoc" depends="build" description="生成 java 的 API 帮助文档">  
        [color=brown]<!--
        <mkdir dir="${build.javadocs}"/>  
        <javadoc packagenames="${packages}" sourcepath="${build.src}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${name} API" doctitle="${name}">  
            <classpath refid="classpath"/>  
        </javadoc>
        -->[/color]  
    </target>
	
	<target name="antjar" depends="build" description="把部分java文件打成可运行jar包">
		<jar destfile="${jar.dest}/myapp.jar">
			[color=brown]<!--
			<classes dir="${build.class}" />s
			-->[/color]
			<fileset dir="${build.class}">
				[color=brown]<!--
				<include name="com/**" />
				<include name="${build.src}/*.properties" />
				<include name="${build.src}/resources" />
				<exclude name="**/Test.class" />
				-->[/color]
				
			</fileset>
		</jar>
	</target>

	<target name="antear" depends="build" description="EJB工程用">
		[color=brown]<!--
		<ear destfile="${ear.dest}/${name}-${version}.ear" appxml="META-INF/application-j1.3.xml">
	   		<fileset dir="${war.dest}" includes="${name}-${version}.war" />
	  	</ear>
		-->[/color]
	</target>
	
    <target name="antwar" depends="build" description="打war包,不将java文件打入包内">  
        [color=brown]<!-- <delete dir="${build.src}"/> -->[/color]  
        <war warfile="${war.dest}/TestQuartz.war" webxml="${buildwar.dest}/WEB-INF/web.xml">  
            <lib dir="${buildwar.dest}/WEB-INF/lib" />  
            <classes dir="${build.class}" />
        	<fileset dir="${buildwar.dest}">
        		<include name="**/*.conf" />
        		<include name="**/*.html" />
        		<include name="**/*.htm" />
        		<include name="**/*.jsp" />
        		<include name="**/*.js" />
        		<include name="**/*.css" />
        		<include name="**/*.swf" />
        		<include name="**/*.jpg" />
        		<include name="**/*.jpeg" />
        		<include name="**/*.png" />
        		<include name="**/*.gif" />
        		<exclude name="**/*.bak"/>
        	</fileset>
        </war>  
    </target>  
	
	<target name="antzip" depends="antjar" description="打zip文件包">
		[color=brown]<!--
		<zip destfile="${zip.dest}/TestQuartzPro.zip">
	   		<zipfileset dir="${war.dest}" includes="TestQuartz.war" prefix="." />
	   		<zipfileset dir="${db.dest}" includes="*.*" prefix="db" />
	   		<zipfileset dir="${doc.dest}" includes="*.*" prefix="doc" />
			<zipfileset dir="${xls.dest}" includes="*.*" prefix="xls" />
	  	</zip>
		-->[/color]
	</target>
	
	<target name="clean" depends="init" description="清除打包用临时文件">
        
        <delete dir="${build.src}" description="删除dist包里的java文件" />  
        <delete>  
            <fileset dir="${build.class}" includes="**/*.classes" />  
        </delete> 
		
    </target>
	
    <target name="publish" depends="antjar,antear,antwar,antzip,javadoc,clean" description="发布war包至tomcat目录下(注意depends属性里面的内容,name=publish是跟project标签里的default属性同名的)">  
        <copy todir="${tomcat.home}/webapps">  
            <fileset dir="${war.dest}">  
                <include name="**/*.war"/>
            	<exclude name="**/*.bak"/>
            </fileset>  
        </copy> 
    	
    	<delete dir="${buildwar.dest}" description="删除dist目录" />
    	
    </target>  

</project>


下面的代码仅供参考:
把几个任务串起来,弄一个default target

<target name="all">
	<antcall target="antjar" />
	<antcall target="antear" />
	<antcall target="antwar" />
        <antcall target="antzip" />
	<antcall target="javadoc" />
	<antcall target="clean" />
        <antcall target="publish" />
</target>



----------------------------------------------------------------------------------
下面是针对MyEclipse建立的Web工程打war包的build.xml脚本:
<?xml version="1.0" encoding="UTF-8"?>
<!-- <project default="war" basedir="." name="MyYywlProForAnt"> -->
<project default="publish" basedir="." name="MyYywlProForAnt">

<property name="project" value="MyYywlPro" />
<property name="version" value="1.0" />
<property name="year" value="2013" />

<property name="src" value="${basedir}/src" />
<property name="lib" value="${basedir}/WebRoot/WEB-INF/lib" />
<property name="webapp" value="${basedir}/WebRoot" />
<property name="packages" value="com.*" />

<property name="classes" value="${basedir}/build/classes" /> 
    <property name="war.dest" value="${basedir}/build" />
   
    <!-- 这个地方的war包名称最好跟工程名称一致,否则放到Tomcat下发布的时候容易跟Tomcat里的server.xml文件内容设置的不一致 -->
    <property name="ProductName" value="MyYywlPro" />   

<property name="compiler.debug" value="on" />
    <property name="compiler.generate.no.warnings" value="off" />
    <property name="compiler.args" value="-encoding UTF8" />
    <property name="compiler.max.memory" value="400m" />
   
    <property name="tomcat.home" value="D:\Tomcat 6.0" />
    <property name="tomcat.home.lib" value="D:\Tomcat 6.0\lib" />

<patternset id="ignored.files">
        <exclude name="**/.svn/**" />
    </patternset>
    
    <target name="clean"> 
       <delete dir="${war.dest}" /> 
      
<echo message="----------- ${project} ${version} [${year}] ------------" />
    <echo message="----------- ${src} ------------" />
    <echo message="----------- ${lib} ------------" />
    <echo message="----------- ${webapp} ------------" />
    <echo message="----------- ${war.dest} ------------" />
    <echo message="----------- ${tomcat.home} ------------" />
      
       <path id="classpath" description="设置依赖jar文件">
       <fileset dir="${tomcat.home.lib}"> 
                <include name="**/*.jar"/>
                <exclude name="**/*.bak" /> 
            </fileset>
            <fileset dir="${lib}"> 
                <include name="**/*.jar" />
            <exclude name="**/*.bak" />
            </fileset> 
        </path>
       
        <filter token="year" value="${year}" />
  <filter token="version" value="${version}" />
  <filter token="date" value="${TODAY}" />
  <filter token="log" value="true" />
  <filter token="verbose" value="true" />
    </target> 

    <target name="compile" depends="clean"> 
       <mkdir dir="${classes}" /> 
       <javac encoding="utf-8" srcdir="${src}" destdir="${classes}">
       <classpath refid="classpath" description="依赖上面path标签设置的jar文件" />
       </javac>
    </target> 
 
    <target name="war" depends="compile"> 
    <war destfile="${war.dest}/${ProductName}.war" webxml="WebRoot/WEB-INF/web.xml">
            <!-- <fileset dir="${webapp}" includes="**/*.jsp" /> --> 
        <fileset dir="${webapp}">
        <include name="**/*" />
        <exclude name="**/*.bak" />
</fileset> 
      </war> 
    </target>
   
     
    <target name="publish" depends="war" description="发布war包至tomcat目录下(注意depends属性里面的内容,name=publish是跟project标签里的default属性同名的)"> 
        <copy todir="${tomcat.home}/webapps"> 
            <fileset dir="${war.dest}"> 
                <include name="**/*.war" />
            <exclude name="**/*.bak" />
            </fileset> 
        </copy>
    </target>
   
</project>


 
  • 大小: 27.5 KB
  • 大小: 12.5 KB
分享到:
评论

相关推荐

    Ant+Svn打包Web工程

    本主题将深入探讨如何结合Apache Ant和Subversion(Svn)来打包Web工程,这是一个常见的开发实践,尤其对于Java Web项目而言。首先,让我们理解这两个工具的核心概念。 **Apache Ant** 是一个Java库和命令行工具,...

    ant编译java web工程build.xml配置文件

    介绍了如何通过ant进行java web工程的编译操作的详细配置

    Ant实例 web工程部署

    【Ant实例 web工程部署】与【Ant】标签相关的知识点: Ant是一个开源的Java构建工具,它简化了构建和部署Java应用程序的过程。在Ant出现之前,Java应用的构建通常依赖于平台特定的脚本、Makefile、多种IDE以及手动...

    ant 构建java web工程

    一个简单的java web 编译打包部署

    13_ant_发布web项目和操作数据库

    2. 编写`build.xml`:定义发布目标,如`war`任务,用于打包Web应用为WAR文件。这通常包括清理、编译源代码、复制资源文件、打包JAR或WAR等步骤。 3. 使用`&lt;war&gt;`任务:通过指定webapp目录、类路径、库文件等属性,...

    ant自动发布工程

    - **打包(Package)**: 可用`&lt;jar&gt;`任务创建JAR文件,或`&lt;war&gt;`任务创建WAR文件,适用于Web应用。 - **测试(Test)**: 使用`&lt;junit&gt;`任务运行JUnit测试,可配置测试类或方法,收集测试报告。 4. **自动发布流程...

    使用ant部署eclipse开发的web工程到tomcat

    而Ant则扮演了桥梁的角色,将Eclipse中开发的Web工程打包并部署到Tomcat服务器上。 `build.xml`文件是Ant的构建脚本,它定义了一系列的任务,例如编译源代码、创建WAR文件(Web应用归档文件)、清理构建目录等。...

    ANT應用於WEB工程的比較詳細的build.xml文件

    本文将深入探讨“ANT应用於WEB工程”的详细`build.xml`文件,这是Apache Ant工具的一个实例,一个基于XML的构建脚本,用于管理Java项目的构建过程。 Apache Ant是一个开源的构建工具,由Apache软件基金会开发。它被...

    ant将工程打war

    本案例重点讲述如何使用Ant将一个工程打包成WAR(Web Application Archive)文件,这是Java Web应用程序的标准部署格式。 首先,我们需要了解Ant的基本结构。一个Ant项目通常由一个名为`build.xml`的主配置文件组成...

    JAVA_Ant详细介绍与应用

    包含文档和项目实例。 用Ant实现Java项目的自动构建和部署。 JAVA_Ant详细介绍与应用。 Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等...4.使用Ant的war任务打包J2EE Web项目 五.总结

    使用Flex Ant Tasks编译工程文件

    Apache Ant是一个基于XML的构建工具,它定义了一组任务,如编译、打包、测试等,这些任务可以通过XML文件(通常名为build.xml)进行配置。Ant的工作原理是读取这个配置文件,然后执行其中指定的构建任务。 在我们的...

    ruoyi-cloud前端工程,使用ant design vue框架

    Ruoyi-Cloud是一款基于Ant Design Vue框架的前端工程,主要应用于web应用开发,特别是后台管理系统的设计和构建。Ant Design Vue是阿里巴巴推出的一款Vue.js组件库,它将Ant Design的设计理念与Vue.js的轻量、易用性...

    ant自动化发布脚本

    利用ant,自动化发布工程。具体过程包括:备份之前发布的工程,从svn checkout工程,编译工程,打包工程,关闭web服务器,删除已发布在web服务器的工程,复制打包的工程到web服务器,解压工程,启动web服务器。

    ant编译1.9版本

    Apache Ant是Java开发中不可或缺的自动化构建工具,它在软件工程领域扮演着重要角色,尤其在构建、测试和部署过程中。Ant以其XML为基础的构建文件(通常命名为build.xml)著称,这种文件定义了项目构建的各个任务和...

    ant 构建AXIS2

    使用`ant war`或类似的任务,Ant将打包编译后的文件和资源为WAR文件,准备部署到Web服务器。 7. **部署和运行**:最后,将生成的WAR文件部署到支持Servlet的Web服务器(如Tomcat、Jetty等)。然后可以通过Web服务的...

    Ant部署WebService服务

    而Ant作为构建工具,可以帮助我们编译源码、打包应用、运行测试以及部署服务。 在"Ant部署WebService服务"中,我们需要了解以下核心知识点: 1. **Ant基础**: - Ant是一个基于XML的脚本语言,其配置文件通常命名...

Global site tag (gtag.js) - Google Analytics