jakarta-ant的使用(java编译工具)

一:介绍:
ant 是jakarta的一个编译工具,如果你了解linux/Unix下的makefile你就很容易
理解ant的用途了。ant最适合你使用UltraEdit(EditPlus)写java程序,然后你使用ant去编译,同时javadoc ,生成一个jar,war,实现文件的copy都可以在build.xml通过不同的tager去实现,还是很方便的一个东东强烈推荐是使用。
二:下载
你可以从下面的地址下载到ant,目前版本:1.41
http://jakarta.apache.org/builds/jakarta-ant/release/v1.4.1/bin/

三:安装
a:)Windows
1:解压你下载的文件,会有一个jakarta-ant(版本号的)目录产生,把他改名为ant
2:copy ant 目录到你需要的位置。
3:在环境变量中添加:ANT_HOME=ant的安装目录,path中加$ANT_HOME$\in;注意你同时必须已经安装了jdk,并添加了JAVA_HOME的环境变量,同时早path中加了$JAVA_HOME$\in;

b:)Linux/Unix
1:解压你下载的文件,会有一个jakarta-ant(版本号的)目录产生,把他改名为ant
2:copy ant 目录到你需要的位置。
3:在环境变量中添加:ANT_HOME=ant的安装目录,path中加$ANT_HOME$\in;注意你同时必须已经安装了jdk,并添加了JAVA_HOME的环境变量,同时早path中加了$JAVA_HOME$\in;实现修改环境变量你需要修改.bash_profile文件。
如下
ANT_HOME=/usr/local/ant
JAVA_HOME=/usr/local/jdk
PATH=$PATH:$HOME/bin:/usr/local/ant/bin:/usr/local/jdk/bin

export PATH ANT_HOME JAVA_HOME

四:编写build.xml
build.xml相当Linux下的makefile,具体的实现都在build.xml中实现。
我给给例子说明一下。
build.xml

  1<project basedir="../.." default="build" name="bingo">
  2<!--basedir设定工作目录-->
  3<property name="version" value="1.0"></property>
  4<!-- The base directory relative to which most targets are built -->
  5<property name="base" value="."></property>
  6<!-- The directory where source files are stored. -->
  7<property name="java.source.dir" value="bingo/src"></property>
  8<!--代码保存路径-->
  9<!-- Destination for compiled files -->
 10<property name="javac.dest" value="bingo/classes"></property>
 11<!--class保存路径-->
 12<!-- Destination for generated jar files -->
 13<property name="jar.dest" value="bingo/jar"></property>
 14<!--jar文件保存路径-->
 15<!-- Destination for documentation files generated or not -->
 16<property name="docs" value="bingo/docs"></property>
 17<!--javadoc文件保存路径-->
 18<!-- Destination for javadoc generated files -->
 19<property name="javadoc.dest" value="bingo/docs"></property>
 20<!-- The stem where most log4j source code is located. -->
 21<property name="stem" value="com/bingo"></property>
 22<property name="base-files" value="include"></property>
 23<!-- Original manifest.mf file before filtering. -->
 24<property name="manifest.src" value="bingo/build/manifest.mf"></property>
 25<!-- Some targets needs a more precise stem. -->
 26<property name="BSTEM" value="${java.source.dir}/${stem}"></property>
 27<property name="tomcat.dir" value="c:/Apache/Tomcat"></property>
 28<property name="webapp.dir" value="${tomcat.dir}/webapps/ROOT/WEB-INF/classes"></property>
 29<!--List all Package used in this project -->
 30<property name="PackageList" value="   
 31com.bingo,   
 32com.bingo.database,   
 33com.bingo.dbocw,   
 34com.bingo.util,   
 35com.bingo.taglibs.jndi,   
 36com.bingo.finance.database,   
 37com.bingo.finance.entity,   
 38com.bingo.finance.manager"></property>
 39<!--你的project中所有的包-->
 40<!-- List all jar or file used in this project -->
 41<property name="classpath" value="${classpath};   
 42${base-files}/tomcat/servlet.jar;   
 43${base-files}/tomcat/webserver.jar;   
 44${base-files}/log4j/log4j.jar;   
 45${base-files}/log4j/log4j-core.jar"></property>
 46<!--你需要用到的包-->
 47<target name="init">
 48<tstamp></tstamp>
 49</target>
 50<target depends="init" name="build">
 51<echo>   
 52Building...   
 53</echo>
 54<mkdir dir="${javac.dest}"></mkdir>
 55<javac classpath="${classpath}" debug="on" destdir="${javac.dest}" srcdir="${java.source.dir}"></javac>
 56</target>
 57<!-- ================================================================= -->
 58<!-- Copy class files to tomcat dir. -->
 59<!-- ================================================================= -->
 60<target depends="build" name="copy">
 61<copy todir="${webapp.dir}/com/bingo">
 62<fileset dir="${javac.dest}/com/bingo">
 63<include name="*.class"></include>
 64</fileset>
 65</copy>
 66<copy todir="${webapp.dir}/com/bingo/util">
 67<fileset dir="${javac.dest}/com/bingo/util">
 68<include name="*.class"></include>
 69</fileset>
 70</copy>
 71<copy todir="${webapp.dir}/com/bingo/database">
 72<fileset dir="${javac.dest}/com/bingo/database">
 73<include name="*.class"></include>
 74</fileset>
 75</copy>
 76<copy todir="${webapp.dir}/com/bingo/dbocw">
 77<fileset dir="${javac.dest}/com/bingo/dbocw">
 78<include name="*.class"></include>
 79</fileset>
 80</copy>
 81<copy todir="${webapp.dir}/com/bingo/finance/database">
 82<fileset dir="${javac.dest}/com/bingo/finance/database">
 83<include name="*.class"></include>
 84</fileset>
 85</copy>
 86<copy todir="${webapp.dir}/com/bingo/finance/entity">
 87<fileset dir="${javac.dest}/com/bingo/finance/entity">
 88<include name="*.class"></include>
 89</fileset>
 90</copy>
 91<copy todir="${webapp.dir}/com/bingo/finance/manager">
 92<fileset dir="${javac.dest}/com/bingo/finance/manager">
 93<include name="*.class"></include>
 94</fileset>
 95</copy>
 96</target>
 97<!-- ================================================================= -->
 98<!-- Remove all generated (compiled) class files. -->
 99<!-- ================================================================= -->
100<target depends="init" name="clean">
101<delete dir="${javac.dest}/"></delete>
102</target>
103<!-- ================================================================= -->
104<!-- Remove all backup files. -->
105<!-- ================================================================= -->
106<target depends="init" name="delete">
107<delete>
108<fileset dir="${java.source.dir}/com/bingo">
109<include name="*.bak"></include>
110</fileset>
111</delete>
112<delete>
113<fileset dir="${java.source.dir}/com/bingo/util">
114<include name="*.bak"></include>
115</fileset>
116</delete>
117<delete>
118<fileset dir="${java.source.dir}/com/bingo/database">
119<include name="*.bak"></include>
120</fileset>
121</delete>
122<delete>
123<fileset dir="${java.source.dir}/com/bingo/finance/database">
124<include name="*.bak"></include>
125</fileset>
126</delete>
127<delete>
128<fileset dir="${java.source.dir}/com/bingo/finance/entity">
129<include name="*.bak"></include>
130</fileset>
131</delete>
132<delete>
133<fileset dir="${java.source.dir}/com/bingo/finance/manager">
134<include name="*.bak"></include>
135</fileset>
136</delete>
137</target>
138<!-- ================================================================= -->
139<!-- Remove the temporary manifest file, actual work is done in the -->
140<!-- dependencies. -->
141<!-- ================================================================= -->
142<target depends="build" name="prejar">
143<mkdir dir="${jar.dest}"></mkdir>
144<filter token="version" value="${version}"></filter>
145<copy file="${manifest.src}" filtering="true" tofile="${jar.dest}/manifest.mf"></copy>
146</target>
147<!-- ================================================================= -->
148<!-- This target Create bingo.jar -->
149<!-- ================================================================= -->
150<target depends="prejar" name="jar">
151<delete file="${jar.dest}/bingo.jar"></delete>
152<jar basedir="${javac.dest}" jarfile="${jar.dest}/bingo.jar" manifest="${jar.dest}/manifest.mf"></jar>
153</target>
154<!-- ================================================================= -->
155<!-- This target builds the javadoc files. -->
156<!-- ================================================================= -->
157<target depends="build,init" name="javadoc">
158<mkdir dir="${javadoc.dest}"></mkdir>
159<javadoc author="true" classpath="${classpath}" destdir="${javadoc.dest}" header="Bingo Free Java Code${version}" packagenames="${PackageList}" protected="true" sourcepath="${java.source.dir}" use="true" version="true" windowtitle="Bingo Free Java Code Version ${version}"></javadoc>
160</target>
161</project>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus