ant_2

ant的項目包偶就不傳了,ftp上或apache的官方網站上都可以下到,下了只要解壓縮好,然後放到一個目錄下就好了。放好後該做什麼應該猜的出吧,ant既然是java項目的生成工具,那麼必然要用到jdk的核心功能,比如javac和java和jar等了。ant該怎麼做呢?一般都是把jvm集成進來了,而不是給它配置一個jdk。項目就是要儘量減少它的對外依賴性。
於是一樣,要爲類裝載器設置類路徑和爲控制檯的命令符設置path了。打開ant的目錄一看,很簡單,就是一個lib和一個bin,這樣設置classpath和path就不在話下了。

設置好了,就到控制檯上敲ant就ok了,bin下面有這個批處理文件,敲進去一般會提示找不到build.xml文件,正常。如果說什麼不是內部命令等,那麼就是path的設置問題了。

用ant,也就是要寫一個build.xml文件了,其他的就都沒有了,很簡單實用吧。當然,文件名可以是指定的,只要在ant命令後加上文件名就是了,build.xml是默認的而已。當然這個文件要讓控制檯找到,所以敲ant一定要到當前目錄下,否則控制檯找不到你的文件了。

那麼這個xml文件到底是什麼呢?也很簡單一般的幾十行就搞定了,而且可以複用,就是很多的項目基本上可以使用一份xml文件,只要稍微的注意裏面的目錄問題就ok了。
既然使用,那就先看一個示例吧。
<project name="CarRent" basedir="." default="compile">

<property name="user.name" value="wewu200"/>
<property name="dist.name" value="CarRent"/>
<property name="srcDir" location="WEB-INF/src"/>
<property name="buildDir" location="WEB-INF/classes"/>
<property name="distDir" location="D:/Program Files/Apache Software Foundation/Tomcat5.5/webapps/dist"/>

<!-- Build working classpath -->
<path id="project.class.path">
<pathelement path ="WEB-INF/classes"/>
<pathelement path ="${classpath}"/>
</path>

<target name="init">
 <tstamp/>
<!-- Create the build directory structure used by compile -->
 <delete dir="${distDir}"/>
 <delete dir="${buildDir}"/>
 <mkdir dir="${buildDir}"/>
 <mkdir dir="${distDir}"/>
</target>

<!-- Compile the dir src .java to .class to dir build -->
<target name="compile" depends="init">
 <javac srcdir="${srcDir}" destdir="${buildDir}">
     <classpath refid="project.class.path"/>
 </javac>
</target>

<!-- Jar src and Jar build-->
<target name="jar" depends="compile">
 <jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">
     <manifest>
        <attribute name="Built-By" value="${user.name}"/>
        <attribute name="Main-Class" value="package.Main"/><!-- define your Jar's main class if it exists-->
    </manifest>
 </jar>
 <jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>
</target>

<target name="run" depends="compile">
  <java classname="test.Test" fork="true" failonerror="true">
       <arg value="-jar"/>
       <classpath refid="project.class.path"/>
  </java>
</target>

<!-- Build binary distribution -->
<target name="war" depends="jar" description="Create binary distribution">
  <war destfile="${distDir}/${dist.name}.war" webxml="WEB-INF/web.xml">
      <lib dir="WEB-INF/lib"/>
      <classes dir="WEB-INF/classes"/>
      <fileset dir="${basedir}"/>
  </war>
</target>

</project>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章