zoukankan      html  css  js  c++  java
  • jakartaant的使用(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
    ================================================================
    <project name="bingo" default="build" basedir="../.." >
        <!--basedir设定工作目录-->
      <property name="version" value="1.0"/>

      <!-- The base directory relative to which most targets are built -->
      <property name="base" value="."/>
     
      <!-- The directory where source files are stored. -->
      <property name="java.source.dir" value="bingo/src"/>
      <!--代码保存路径-->
      <!-- Destination for compiled files -->
      <property name="javac.dest" value="bingo/classes"/>
        <!--class保存路径-->
      <!-- Destination for generated jar files -->
      <property name="jar.dest" value="bingo/jar"/>
      <!--jar文件保存路径-->
      <!-- Destination for documentation files generated or not -->
      <property name="docs" value="bingo/docs"/>
      <!--javadoc文件保存路径-->
      <!-- Destination for javadoc generated files -->
      <property name="javadoc.dest" value="bingo/docs"/>

      <!-- The stem where most log4j source code is located. -->
      <property name="stem" value="com/bingo"/>

      <property name="base-files" value="include"/>
      
      <!-- Original manifest.mf file before filtering. -->
      <property name="manifest.src" value="bingo/build/manifest.mf"/>
          
      <!-- Some targets needs a more precise stem. -->
      <property name="BSTEM" value="${java.source.dir}/${stem}"/>
      
       <property name="tomcat.dir" value="c:/Apache/Tomcat"/>
      
      <property name="webapp.dir" value="${tomcat.dir}/webapps/ROOT/WEB-INF/classes"/>
      
      <!--List all Package used in this project    -->
      <property name="PackageList" value="
                   com.bingo,
                 com.bingo.database,
                 com.bingo.dbocw,
                 com.bingo.util,
                 com.bingo.taglibs.jndi,
                 com.bingo.finance.database,
                 com.bingo.finance.entity,
                 com.bingo.finance.manager"
      />
      <!--你的project中所有的包-->
      <!-- List all jar or file used in this project -->
      <property name="classpath" value="${classpath};
                          ${base-files}/tomcat/servlet.jar;
                          ${base-files}/tomcat/webserver.jar;
                          ${base-files}/log4j/log4j.jar;
                          ${base-files}/log4j/log4j-core.jar"
                          
          />
      <!--你需要用到的包-->
      <target name="init">
        <tstamp />
      </target>

      <target name="build" depends="init">
        <echo>
            Building... 
        </echo>

        <mkdir dir="${javac.dest}" />
        <javac srcdir="${java.source.dir}"
           destdir="${javac.dest}"
           classpath="${classpath}"
           debug="on"/>            
           
      </target>
      <!-- ================================================================= -->
      <!-- Copy  class files to tomcat dir.                                      -->
      <!-- ================================================================= -->
       <target name="copy" depends="build">
        <copy todir="${webapp.dir}/com/bingo">
            <fileset dir="${javac.dest}/com/bingo">
                <include name="*.class"/>
            </fileset>
        </copy>    
        <copy todir="${webapp.dir}/com/bingo/util">
            <fileset dir="${javac.dest}/com/bingo/util">
                <include name="*.class"/>
            </fileset>
        </copy>    
        <copy todir="${webapp.dir}/com/bingo/database">
            <fileset dir="${javac.dest}/com/bingo/database">
                <include name="*.class"/>
            </fileset>
        </copy>    
        <copy todir="${webapp.dir}/com/bingo/dbocw">
            <fileset dir="${javac.dest}/com/bingo/dbocw">
                <include name="*.class"/>
            </fileset>
        </copy>    
        <copy todir="${webapp.dir}/com/bingo/finance/database">
            <fileset dir="${javac.dest}/com/bingo/finance/database">
                <include name="*.class"/>
            </fileset>
        </copy>    
        <copy todir="${webapp.dir}/com/bingo/finance/entity">
            <fileset dir="${javac.dest}/com/bingo/finance/entity">
                <include name="*.class"/>
            </fileset>
        </copy>    
        <copy todir="${webapp.dir}/com/bingo/finance/manager">
            <fileset dir="${javac.dest}/com/bingo/finance/manager">
                <include name="*.class"/>
            </fileset>
        </copy>    
      </target>



      <!-- ================================================================= -->
      <!-- Remove all generated (compiled) class files.                      -->
      <!-- ================================================================= -->
      <target name="clean" depends="init">
        <delete dir="${javac.dest}/" />
      </target>
      
      <!-- ================================================================= -->
      <!-- Remove all backup  files.                                         -->
      <!-- ================================================================= -->
      <target name="delete" depends="init">
        <delete >
            <fileset dir="${java.source.dir}/com/bingo">
                <include name="*.bak"/>
            </fileset>
        </delete>
        <delete >
            <fileset dir="${java.source.dir}/com/bingo/util">
                <include name="*.bak"/>
            </fileset>
        </delete>
        <delete >
            <fileset dir="${java.source.dir}/com/bingo/database">
                <include name="*.bak"/>
            </fileset>
        </delete>
        <delete >
            <fileset dir="${java.source.dir}/com/bingo/finance/database">
                <include name="*.bak"/>
            </fileset>
        </delete>
        <delete >
            <fileset dir="${java.source.dir}/com/bingo/finance/entity">
                <include name="*.bak"/>
            </fileset>
        </delete>
        <delete >
            <fileset dir="${java.source.dir}/com/bingo/finance/manager">
                <include name="*.bak"/>
            </fileset>
        </delete>
      </target>
      


      <!-- ================================================================= -->
      <!-- Remove the temporary manifest file, actual work is done in the    -->
      <!-- dependencies.                                                     -->
      <!-- ================================================================= -->  
      
      <target name="prejar" depends="build">
        <mkdir dir="${jar.dest}"/>    
        <filter token="version" value="${version}" />
        <copy file="${manifest.src}" tofile="${jar.dest}/manifest.mf" 
              filtering="true"/>
      </target>
      
      <!-- ================================================================= -->
      <!-- This target Create    bingo.jar                                     -->
      <!-- ================================================================= -->
      <target name="jar" depends="prejar">
        <delete file="${jar.dest}/bingo.jar"/>
        <jar jarfile="${jar.dest}/bingo.jar" basedir="${javac.dest}"
            manifest="${jar.dest}/manifest.mf"    
        />
      </target>
      
      <!-- ================================================================= -->
      <!-- This target builds the javadoc files.                             -->
      <!-- ================================================================= -->
      <target name="javadoc" depends="build,init">
        <mkdir dir="${javadoc.dest}" />
        <javadoc sourcepath="${java.source.dir}" 
                   destdir="${javadoc.dest}" 
                   classpath="${classpath}"
                   packagenames="${PackageList}"
                   version="true"
                   protected="true"
                  author="true"
                   use="true"           
                   windowtitle="Bingo Free Java Code Version ${version}" 
                   header="Bingo Free Java Code${version}"
         />            
      </target>
    </project>
  • 相关阅读:
    Windows8 游戏开发教程开篇
    IPAD 游戏开发方案,windows开发
    谈一谈 Windows 8 的软件开发架构
    html5 大家一起来瞅吧瞅吧
    silverlight5中CLGF的推进
    html5 游戏界面问题
    挑战SVN,最纯洁的SVN客户端计划
    章鱼哥的暴走,HTML5也开始了
    MySQL的常用操作!
    两种屏蔽鼠标右键的方法
  • 原文地址:https://www.cnblogs.com/licheng/p/1326342.html
Copyright © 2011-2022 走看看