以构建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>
如果不正确之处,请指正。
相关推荐
介绍了如何通过ant进行java web工程的编译操作的详细配置
综上所述,《Java Development with Ant》这本书详细介绍了如何使用Ant这一强大的构建工具来进行Java项目的开发。从基础入门到高级应用,从单一任务到复杂案例,本书都提供了详尽的指导。通过学习本书,开发者不仅...
包含文档和项目实例。 用Ant实现Java项目的自动构建和部署。 JAVA_Ant详细介绍与应用。 Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等...4.使用Ant的war任务打包J2EE Web项目 五.总结
4. Ant的任务和目标:学习如何编写和使用Ant预定义的任务,如(编译Java源代码)、(创建jar文件)、(复制文件或目录)、(执行外部程序)等。目标是Ant中任务执行的最小单位,一个构建文件可以包含多个目标,目标...
一个简单的java web 编译打包部署
《贯通Java Web开发三剑客:Eclipse+Tomcat+Ant整合开发》.part2.rar
JavaAnts是一个基于Java编程语言实现的工具,利用Apache Ant技术构建,专注于文件的上传和下载功能。Apache Ant是一个开源的构建工具,它被广泛应用于Java项目中,以替代传统的Makefile,提供更加灵活和跨平台的项目...
《Java Development with Ant》是一本非常实用的书籍,不仅涵盖了Ant的基本概念和使用方法,还深入探讨了如何将Ant应用于各种实际场景中。无论是初学者还是有经验的Java开发者,都能从中获得有价值的指导和灵感。...
8. **测试与调试**:单元测试、集成测试和持续集成工具的使用,如JUnit和Ant,对于确保高质量的Java Web应用至关重要。 9. **性能优化**:如何通过缓存、负载均衡、代码优化等手段提高Java Web应用的性能,可能也是...
在本场景中,我们将探讨如何使用Ant来发布一个Web项目到Apache Tomcat服务器。 首先,理解Ant的基本结构是至关重要的。一个Ant项目通常包含一个build.xml文件,这是Ant执行的所有指令的中心。在这个文件中,我们...
《Ant构建Java Web应用:深度解析build.xml》 在软件开发过程中,自动化构建工具起着至关重要的作用,它们能够帮助开发者高效地管理项目,确保代码的编译、测试和部署等流程的一致性和可靠性。Apache Ant是Java领域...
《贯通Java Web开发三剑客:Eclipse+Tomcat+Ant整合开发》.part1.rar
Java Web Service 学习例子,里面有大量用来开发web services的Java程序示例,非常值得学习。 使用到的技术及工具如下: Apache: www.apache.org and xml.apache.org -- Ant 1.4.1 -- SOAP 2.2 -- Tomcat 3.2...
10. **外部工具集成**:Ant不仅可以处理Java项目,还可以与其他语言和工具结合,如C++编译器、Web服务器、数据库等,通过调用外部程序实现更复杂的构建需求。 总结起来,Java Ant是一个强大且灵活的构建工具,它...
### 使用ANT远程发布Web项目 #### 一、概述 在软件开发过程中,自动化构建与部署是提高开发效率、减少人为错误的重要手段之一。Apache Ant 是一个用于自动化软件编译、测试、部署等过程的Java库及命令行工具,它...
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应用
在Java Web开发中,主要使用的技术栈包括Servlet、JSP、JavaBean等。Servlet是Java编写服务器端程序的核心接口,负责处理HTTP请求。JSP(JavaServer Pages)用于创建动态网页,将Java代码嵌入HTML中,方便展示数据。...