ANT入门&用ANT编译java项目
第一次接触ant是15年在无锡某软件公司实习时,当时的项目是由多个模块组成,开发分成模块开发的几个小组。为了提高开发效率,采用这种编译项目的方法。
最近接触到flex项目,采用eclipse自动编译的方法,开发效率极低。于是着手写自己的第一个bulid.xml文件。
(前提,jdk已配置好,此处不再赘述)
入门:下载并配置ant.
下载完成后直接解压到指定目录就ok了,然后配置环境变量。
PATH:C:\Program Files\Apache Software Foundation\apache-ant-1.9.7\bin;
ANT_HOME:C:\Program Files\Apache Software Foundation\apache-ant-1.9.7
配置完成后:cmd 输入ant -version
编译java项目:
首先在项目中新建build.xml 和build.properties(用于属性的设置)文件
build.xml:
build文件主要由两部分组成:project和target,target之间可以有依赖关系,一般web项目,首先清除已经生成的class文件,然后再编译,最后copy到tomcat.
<?xml version="1.0" encoding="UTF-8"?> <project name="nczsc" default="build.proj" basedir="." > <property file="build.properties"/> <target name="info"> <echo message="******************PROJECT:${project}******************"/> <echo message="******************AUTHOR:${author}******************"/> </target> <target name="clean" depends="info"> <echo message="CLEAN PROJECT..."/> <delete dir="${user.dir}\${classes}\common"/> <delete dir="${user.dir}\${classes}\util"/> <delete dir="${user.dir}\${classes}\config"/> <delete dir="${user.dir}\${classes}\export"/> <delete dir="${user.dir}\${classes}\vo"/> <delete dir="${user.dir}\${classes}\com"/> <delete dir="${user.dir}\${classes}\nczsc"/> <delete file="${user.dir}\${classes}\log4j.properties"/> </target> <target name="bulid.common" depends="clean"> <echo message="COMPILE COMMON CLASS..."/> <mkdir dir="${user.dir}\${classes}\util"/> <javac includeantruntime="false" nowarn="on" source="1.6" target="1.6" deprecation="true" debug="true" encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\util" destdir="${user.dir}\${classes}"> <compilerarg line="-Xlint:unchecked" /> <compilerarg line="-encoding UTF-8"/> </javac> <mkdir dir="${user.dir}\${classes}\vo"/> <javac includeantruntime="false" nowarn="on" source="1.6" target="1.6" deprecation="true" debug="true" encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\vo" destdir="${user.dir}\${classes}"> <compilerarg line="-Xlint:unchecked" /> <compilerarg line="-encoding UTF-8"/> </javac> <mkdir dir="${user.dir}\${classes}\common"/> <javac includeantruntime="false" nowarn="on" source="1.6" target="1.6" deprecation="true" debug="true" encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\common" destdir="${user.dir}\${classes}"> <compilerarg line="-Xlint:unchecked" /> <compilerarg line="-encoding UTF-8"/> </javac> </target> <target name="build.proj" depends="bulid.common"> <echo message="COMPILE PROJECT..."/> <mkdir dir="${user.dir}\${classes}\com"/> <javac includeantruntime="false" nowarn="on" source="1.6" target="1.6" deprecation="true" debug="true" encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\com" destdir="${user.dir}\${classes}"> <compilerarg line="-Xlint:unchecked" /> <compilerarg line="-encoding UTF-8"/> </javac> <mkdir dir="${user.dir}\${classes}\config"/> <copy todir="${user.dir}\${classes}\config"> <fileset dir="${user.dir}\src\config"> </fileset> </copy> <mkdir dir="${user.dir}\${classes}\export"/> <javac includeantruntime="false" nowarn="on" source="1.6" target="1.6" deprecation="true" debug="true" encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\export" destdir="${user.dir}\${classes}"> <compilerarg line="-Xlint:unchecked" /> <compilerarg line="-encoding UTF-8"/> </javac> <mkdir dir="${user.dir}\${classes}\nczsc"/> <javac includeantruntime="false" nowarn="on" source="1.6" target="1.6" deprecation="true" debug="true" encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\nczsc" destdir="${user.dir}\${classes}"> <compilerarg line="-Xlint:unchecked" /> <compilerarg line="-encoding UTF-8"/> </javac> </target> <target name="copy.tomcat" depends="build.proj"> <echo message="COPY FILE TO TOMCAT..."/> <copy todir="${tomcat.dir}\webapps\nczsc"> <fileset dir="${user.dir}\WebRoot"> </fileset> </copy> </target> <path id="project.classpath"> <fileset dir="${project.dir}\${lib.dir}"> <include name="**\*.jar" /> </fileset> <fileset dir="${tomcat.dir}/lib"> <include name="*.jar" /> </fileset> <fileset dir="${ant.dir}"> <include name="**\*.jar" /> </fileset> </path> </project>
build.propertes文件中主要用来设置在build文件中引用的变量,以便重复利用。
author=yookoo
project=nczsc
project.dir=D\:\\vs\\050 \u533A\u57DF\u75BE\u63A7\\095 \u8111\u5352\u4E2D\u7B5B\u67E5\u7CFB\u7EDF\\05 \u6E90\u4EE3\u7801\\01nczsc
classes=WebRoot\\WEB-INF\\classes
lib.dir=WebRoot\\WEB-INF\\lib
tomcat.dir=C\:\\Program Files\\Apache Software Foundation\\Tomcat 6.0
ant.dir=C\:\\Program Files\\Apache Software Foundation\\apache-ant-1.9.7
最后,将build文件加入ant中。
然后点击双击ant中的build.proj启动程序。
如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨小小打赏一下吧,如果囊中羞涩,不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?