`

java web之Ant的使用

    博客分类:
  • J2EE
阅读更多

以构建war包为例,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
1、定义属性baseDir为根路径(此处该属性的值为javaWebExample),供后续编译或者打成war包使用,使用的是当前Ant文件的路径,例如当前文件的路径为javaWebExample/build.xml 
2、设置默认Ant文件的默认执行任务为war(如果该任务名称未定义则会报错)
-->
<project basedir="." default="war" name="javaWebExample">
	<!-- 声明属性供后续使用,开始。。。。 -->
	<!-- 打成的war包的存放路径,该文件直接将war包打到tomcat的webapps下,方便直接启动tomcat使用 -->
	<property name="warDist" value="D:/apache-tomcat-8.0.38/webapps"></property>
	<!-- 定义web内容路径 -->
	<property name="webContentUrl" value="${basedir}/WebContent"></property>
	<!-- 定义WEB-INF的路径 -->
	<property name="webInfUrl" value="${basedir}/WebContent/WEB-INF"></property>
	<!-- 声明属性供后续使用,结束。。。。 -->
		
	<!-- 输出根路径信息 -->
	<echo>${basedir}</echo>
		
	<!-- 定义工程额外添加的jar包路径,一般web工程中第三方包放置在WEB-INF/lib下 -->
	<path id="build.classpath">
		<fileset dir="${webInfUrl}/lib"><include name="**/*.jar"/></fileset>
	</path>
			
    <!-- 定义清空存放class文件的文件夹任务:清空原有的class文件,创建新的build目录用于存放编译之后的class文件 -->  
    <target name="clean">  
        <delete dir="${basedir}/build" />  
        <mkdir dir="${basedir}/build" />  
    </target>  
        	
	<!--定义编译任务:编译任务并且依赖清文件夹任务(clean),创建最新的文件夹用于存放编译后的class文件-->
    <target name="compile" depends="clean" description="Compilation target">
    	<!-- 执行编译:
    	1、如果需要远程调试,则在编译时需要加上debug="true"设置,将调试信息编入代码中,用于调试,
    	否则eclipse中调试时出现uninstal brekpoint错误导致无法调试
    	2、设置要编译的源文件(java)的路径,即设置srcDir属性
    	3、设置存放编译之后的class文件的目录,即设置destDir属性
    	4、设置编译依赖的classpath路径,依赖于之前定义的类路径属性buid.classpath
    	 -->
    	<javac debug="true" destdir="${basedir}/build" srcdir="${basedir}/src" includeantruntime="true">
    		   <classpath refid="build.classpath"></classpath>
    	</javac>
    </target>
	
	<!--定义达成war包的任务:将web应用工程javaWebExample打成war包
		1、定义达成war包的名称,即设置name属性为war(name="war")
		2、定义该任务依赖于编译任务,即设置depends属性(depends="compile")
		3、添加任务的备注(非必须设置),即设置description属性
		4、
	-->
    <target name="war" depends="compile" description="将web app打成war包发布">
       <war destfile="${warDist}/javaWebExample.war" webxml="${webInfUrl}/web.xml">
       		<!-- 将非jar和非class文件拷贝到WebContent路径下 -->
       		<fileset dir="${basedir}/WebContent">
       			<include name="**/**.*" />  
                <exclude name="**/*.jar"/>  
                <exclude name="**/*.class"/> 
       		</fileset >
       		<!-- 将jar文件和对应的class文件拷贝到对应的路径下 -->
       		<lib dir="${basedir}/WebContent/WEB-INF/lib" /> 
       		<classes dir="${basedir}/build" />  
       </war>
    </target>
</project>

 其他用法的示例补充

<?xml version="1.0" encoding="UTF-8"?>
<project default="main" basedir="." name="forYou">
	<property file="${basedir}/src/myProperty.properties"></property>
	<property name="warDist" value="D:/apache-tomcat-8.0.38/webapps"></property>
	<property name="webContentUrl" value="${basedir}/WebContent"></property>
	<property name="webInfUrl" value="${basedir}/WebContent/WEB-INF"></property>
	<fileset id="sourcefiles" includes="**/*.java" dir="src"></fileset>
	<echo>sourcefiles = ${toString:sourcefiles}   wardist = ${toString:warDist}</echo>
	
	<!--默认执行任务 -->
    <target name="main" depends="compile, compress,use-file,printMessage,createFile" description="Main target">
       <echo>Building the .jar file.</echo>
    </target>
	
	<!--判断文件是否存在 -->
	<target name="use-file" depends="check-user-file" if="${file.exists}">
	   <echo>judging by if is successful</echo>
	</target>
	<target name="check-user-file" unless="file.exists">
	    <available property="file.exists" file="${basedir}/src/yaya/Test.java"></available>
	</target>
	<!--判断文件是否存在 -->
	
	<!--读取属性文件信息-->
	<target name="printMessage" unless="${welcom.info}"><echo>welcome to here!</echo></target>
	<!--读取属性文件信息-->
	
	<!--创建文件-->
	<target name="createFile">
		<mkdir dir="${basedir}/src/app"/>
	</target>
	<!--创建文件-->
	
	<!--如果文件存在则删除文件-->
	<target name="check-del-file">
	   <available property="delFile.exists" file = "${basedir}/src/app/example"></available>
	</target>
	<target name="deleteFile" if="${delFile.exists}" depends="check-del-file">
	    <delete dir="${basedir}/src/app"></delete>
		<delete dir="${basedir}/src/app" includes="**/*.java"></delete>
		<delete dir="${basedir}/src/app" includes="**/*.class"></delete>
		<!-- 将文件输出到给定的文件中 -->
		<echo append="true" file="${basedir}/src/myProperty.properties">delete file successful!</echo>
	</target>
	<!--如果文件存在则删除文件-->
	
	<!--文件以及文件夹的拷贝-->
		<target name="copy">
			<copy todir="${basedir}/src/app">
				<!--拷贝文件集-->
				<fileset dir="${basedir}/src/yaya" includes="**/*.java"></fileset>
				<filterset><filter token="DATE" value="${TODAY}"/></filterset>
			</copy>
			<!--copydir src="${basedir}/src/yaya" dest="${basedir}/src/app"></copydir-->
		</target>
	<!--文件以及文件夹的拷贝-->
	
	<!--编译-->
    <target name="compile" description="Compilation target">
    	<javac destdir="${basedir}/src/app" includeantruntime="true">
    		   <src path="${basedir}/src/yaya"></src>
    		   <!--src path="${basedir}/src/yaya/anotation"></src-->
    		   <!--include name="**/*Test.java"/-->
	    	   <!--fileset dir="${basedir}/src/yaya" id="sourcefiles">
	               <include name="**/Test*.java"/>
	           </fileset-->
    	</javac>
    </target>
	<!--编译-->
	
	<!--打jar包-->
    <target name="compress" depends="compile" description="Compression target">
    	<!--将编译之后的class文件打成jar 到src/app目录下-->
       <jar destfile="${basedir}/src/app/app.jar" basedir="${basedir}/src/yaya" includes="**/*.class" />
        <!--将未编译的java文件打成jar 到src目录下-->
       <jar destfile="${basedir}/src/app1.jar">
          <fileset dir="${basedir}/src/yaya">
               <include name="**/*.java"/>
          </fileset>
       </jar>
    </target>
	<!--打jar包-->

</project>

 如果不正确之处,请指正。

1
0
分享到:
评论
1 楼 yin_bp 2017-12-11  
遥想当年ant的叱咤风云,现在已经转向gradle了

相关推荐

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

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

    Java Development with Ant.pdf

    综上所述,《Java Development with Ant》这本书详细介绍了如何使用Ant这一强大的构建工具来进行Java项目的开发。从基础入门到高级应用,从单一任务到复杂案例,本书都提供了详尽的指导。通过学习本书,开发者不仅...

    JAVA_Ant详细介绍与应用

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

    使用Ant进行java开发

    4. Ant的任务和目标:学习如何编写和使用Ant预定义的任务,如(编译Java源代码)、(创建jar文件)、(复制文件或目录)、(执行外部程序)等。目标是Ant中任务执行的最小单位,一个构建文件可以包含多个目标,目标...

    ant 构建java web工程

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

    贯通Java Web开发三剑客:Eclipse+Tomcat+Ant整合开发.part2.rar

    《贯通Java Web开发三剑客:Eclipse+Tomcat+Ant整合开发》.part2.rar

    Java编写的Ant,实现了上传下载功能

    JavaAnts是一个基于Java编程语言实现的工具,利用Apache Ant技术构建,专注于文件的上传和下载功能。Apache Ant是一个开源的构建工具,它被广泛应用于Java项目中,以替代传统的Makefile,提供更加灵活和跨平台的项目...

    Java Development with Ant

    《Java Development with Ant》是一本非常实用的书籍,不仅涵盖了Ant的基本概念和使用方法,还深入探讨了如何将Ant应用于各种实际场景中。无论是初学者还是有经验的Java开发者,都能从中获得有价值的指导和灵感。...

    art of java web development

    8. **测试与调试**:单元测试、集成测试和持续集成工具的使用,如JUnit和Ant,对于确保高质量的Java Web应用至关重要。 9. **性能优化**:如何通过缓存、负载均衡、代码优化等手段提高Java Web应用的性能,可能也是...

    java ant发布项目到tomcat

    在本场景中,我们将探讨如何使用Ant来发布一个Web项目到Apache Tomcat服务器。 首先,理解Ant的基本结构是至关重要的。一个Ant项目通常包含一个build.xml文件,这是Ant执行的所有指令的中心。在这个文件中,我们...

    ant编译java web的build.xml文件

    《Ant构建Java Web应用:深度解析build.xml》 在软件开发过程中,自动化构建工具起着至关重要的作用,它们能够帮助开发者高效地管理项目,确保代码的编译、测试和部署等流程的一致性和可靠性。Apache Ant是Java领域...

    贯通Java Web开发三剑客:Eclipse+Tomcat+Ant整合开发.part1.rar

    《贯通Java Web开发三剑客:Eclipse+Tomcat+Ant整合开发》.part1.rar

    Java Web Service 程序例子

    Java Web Service 学习例子,里面有大量用来开发web services的Java程序示例,非常值得学习。 使用到的技术及工具如下: Apache: www.apache.org and xml.apache.org -- Ant 1.4.1 -- SOAP 2.2 -- Tomcat 3.2...

    java_ant

    10. **外部工具集成**:Ant不仅可以处理Java项目,还可以与其他语言和工具结合,如C++编译器、Web服务器、数据库等,通过调用外部程序实现更复杂的构建需求。 总结起来,Java Ant是一个强大且灵活的构建工具,它...

    使用ANT远程发布Web项目

    ### 使用ANT远程发布Web项目 #### 一、概述 在软件开发过程中,自动化构建与部署是提高开发效率、减少人为错误的重要手段之一。Apache Ant 是一个用于自动化软件编译、测试、部署等过程的Java库及命令行工具,它...

    Java Ant build详解

    Ant 使用XML格式的配置文件(通常命名为`build.xml`)来定义任务和构建过程,使得构建过程可读性强且易于维护。本文将深入解析`build.xml`中的各个元素及其含义。 首先,`build.xml`文件的结构通常包含多个顶级元素...

    ant工具可以构建web应用

    ant工具可以构建web应用,ant工具可以构建web应用ant工具可以构建web应用ant工具可以构建web应用ant工具可以构建web应用ant工具可以构建web应用ant工具可以构建web应用ant工具可以构建web应用ant工具可以构建web应用

    Java Web 商城源码

    在Java Web开发中,主要使用的技术栈包括Servlet、JSP、JavaBean等。Servlet是Java编写服务器端程序的核心接口,负责处理HTTP请求。JSP(JavaServer Pages)用于创建动态网页,将Java代码嵌入HTML中,方便展示数据。...

Global site tag (gtag.js) - Google Analytics