隨筆-72  評論-20  文章-0  trackbacks-1
          1.HelloWorld示例
          HelloWorld.java
          package test.ant;
          public class HelloWorld {
              public static void main(String[] args) {
                  System.out.println("Hello World");
              }
          }
           
          build.xml
          <project name="HelloWorld" basedir="." default="main">
              <property name="src.dir"     value="src"/>
              <property name="build.dir"   value="build"/>
              <property name="classes.dir"  value="build/classes"/>
              <property name="jar.dir"     value="build/jar"/>
              <property name="main-class"  value="test.ant.HelloWorld"/>
           
              <target name="clean">
                  <delete dir="build"/>
              </target>
           
              <target name="compile">
                  <mkdir dir="${classes.dir}"/>
                  <javac srcdir="src" destdir="${classes.dir}"/>
              </target>
           
              <target name="jar" depends="compile">
                  <mkdir dir="${jar.dir}"/>
                  <jar destfile="${jar.dir}/apache-ant.jar" basedir="${classes.dir}">
                      <manifest>
                          <attribute name="Main-Class" value="${main-class}"/>
                      </manifest>
                  </jar>
              </target>
           
              <target name="run" depends="jar">
                  <java jar="${jar.dir}/apache-ant.jar" fork="true"/>
              </target>
           
              <target name="clean-build" depends="clean,jar"/>
           
              <target name="main" depends="clean,run"/>
          </project>
          注:
          1)fork:是否使用外部的JDK(系統默認的即JAVA_HOME指定)執行編譯。默認為否。
          2)manifest:在生成的Jar包中創建META-INF\ MANIFEST.MF文件,本例中文件的內容為:
          Manifest-Version: 1.0
          Ant-Version: Apache Ant
          Created-By:
          Main-Class: test.ant.HelloWorld
           
          運行
           
          2.使用外部類庫
          修改HelloWorld.java,使其加載log4j日志。我們將log4j的jar包放在<%PROJECT_HOME%>\lib目錄下。現在的問題是在程序編譯時,需要加載它。
          HelloWorld.java
          package test.ant;
          import org.apache.log4j.Logger;
          import org.apache.log4j.BasicConfigurator;
           
          public class HelloWorld {
              static Logger logger = Logger.getLogger(HelloWorld.class);
              public static void main(String[] args) {
                  BasicConfigurator.configure();
                  logger.info("Hello World");
              }
          }
           
          修改build.xml
          project name="HelloWorld" basedir="." default="main">
              ...
              <property name="lib.dir" value="lib"/>
              <path id="classpath">
                  <fileset dir="lib" includes="**/*.jar"/>
              </path>
              ...
           
              <target name="compile">
                  <mkdir dir="${classes.dir}"/>
                  <javac srcdir="src" destdir="${classes.dir}" classpathref="classpath"/>
              </target>
           
              <target name="run" depends="jar">
                  <java fork="true" classname="${main-class}">
                      <classpath>
                          <path refid="classpath"/>
                          <path location="${jar.dir}/apache-ant.jar"/>
                      </classpath>
                  </java>
              </target>
              ...
          </project>
          注:
          1)<fileset dir="lib" includes="**/*.jar"/>表示加載lib目錄下所有.jar的文件。
          2)path id給出了一個引用,使其可以在target compile中獲得。
          3)path refid指定一個引用,path location指定一個文件的物理位置。
           
          運行
           
          3.加入log4j配置文件
          將log4j.properties文件放在src目錄下,這次使用該文件配置lor4j。
          修改build.xml
          ...
              <target name="compile">
                  <mkdir dir="${classes.dir}"/>
                  <javac srcdir="src" destdir="${classes.dir}" classpathref="classpath"/>
                  <copy todir="${classes.dir}">
                      <fileset dir="src" excludes="**/*.java"/>
                  </copy>
              </target>
              ...
           
          運行
          注:可以在”http://ant.apache.org/manual/CoreTasks/”查到所有主要Task的用法。

          posted on 2007-08-19 05:05 前方的路 閱讀(776) 評論(0)  編輯  收藏 所屬分類: Java技術
          主站蜘蛛池模板: 万年县| 腾冲县| 东辽县| 兰州市| 陇川县| 宁武县| 南安市| 肥西县| 神农架林区| 喀喇沁旗| 浮山县| 克什克腾旗| 星子县| 阿拉善右旗| 厦门市| 集贤县| 宁化县| 瑞丽市| 六安市| 剑河县| 巴南区| 玉龙| 胶南市| 墨竹工卡县| 乐清市| 仁化县| 保亭| 连南| 尉氏县| 安顺市| 吉首市| 故城县| 上虞市| 信宜市| 驻马店市| 长葛市| 临朐县| 乌审旗| 牟定县| 新闻| 武鸣县|