`
pqcc
  • 浏览: 124770 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ant的使用

    博客分类:
  • JAVA
阅读更多
Apache Ant 1.6.5 Manual
 
一:为什么要使用Ant构建工具 ?
  答: 在学数据结构的时候,有一本参考资料〈〈 Java Structures 〉〉的时候,作者Bailey 提供了一个Structures包。里面有该书中的源代码。该包中有很多类,而且类和其他类之间都还有很多
二:安装Ant构建工具:
1.        你可以从http://cvs.apache.org/builds/ant/nightly/..下载最新版本的Ant
2.        下载后解压文件压缩包。
3.        环境变量的设置:右单击:我的电脑 / 高级 / 环境变量 / 单击 / 系统变量/ Path /尾缀” ;ANT_HOME / bin” (假设ANT_HOME是你解压的路径).
三:使用 Ant构建:
1.   我们的工程文件目录是C:\pqcc\Day0821,现该目录下有文件夹src和build.xm
文件。其中src下存放的是JAVA源文件 !           
2.   下面编辑build.xml文件,并将build.xml文件存放在工程文件的根目录下!
<project name="firstAntDemo" >
        <description>
           PQCC Learning !
       </description>   
 
 <!-- Create the class directory structure used by compile -->
       <target name="init">
           <mkdir dir="class"/>
       </target>
 
<!-- Compile the java code from ${src} into class -->
       <target name="compile" depends="init">
         <javac srcdir="src"  destdir="class"   excludes="*.java" includes="Hello/*.java" />
       </target>
       <target name="run">
<!—classpath要选择运行的class文件的路径,可以是相对路径也可以是绝对路径
         <java classname="Test" classpath="class" depends="compile">         
        </java>
       </target>
</project>
4.        在命令行输入path并进入C:\pqcc\Day0821 目录.:
执行:ant 则将对src / home 目录下的文件进行编译,并运行 Number1.
 
 
脚下留心:(拿几个钟头的本钱换回来的,绝对不是瞎拜!)
1.       全局变量的定义和使用:
定义: <property name="src" location="src"/>
使用: <javac srcdir="${src}" destdir="class" />
 
2. build.xmljavac任务执行类的编辑:
 
(1):<javac srcdir="src" destdir="class" />的运行结果是:
 
答案: 所有src目录以及其子目录下所有的JAVA文件都被编译 !
(2):改换成<javac srcdir="src" destdir="class" includes="Hello/*.java"/>的运行结果是什么呢 ?
 
答案:  只有src/hello/下面的java文件被编译 !而hello子文件夹下的JAVA文件以及src目录下的java文件都不被编译!
(3):改换成<javac srcdir="src" destdir="class" excludes="*.java"/>的运行结果呢?
 
答案:src目录下面的java文件将不被编译,src子文件夹下的java文件仍然被编译 
 
3. java任务执行类的编辑:
   (1):classpath属性是要执行java命令的class文件的路径,可以是相对路径也可以是绝对路径。Depends属性是该target所依赖的target.
   (2):args属性:传递参数。
   (3):java任务执行的类必须是public 修饰的,否则报如下错误:
(3):java任务执行的类必须是public 修饰的,否则报错:
 
 
思考:
 
看看上面的build.xml是不是写的很死板啊 ?假设我的文件里面srcdir=”src”,如果我的xml文件中多处需要用到srcdir这个属性值。呢么当我srcdir属性值需要由 src变为 class时,我是不是需要修改每一个用到 srcdir属性的值! 这岂不是很麻烦 ?有什么好的办法呢?下面介绍property 的使用:
property:的属性:name, value , file 等,下面是使用property属性的build.xml文件:
 
<project name = "Day0822Demo" default = "run">
 
       <description>
     THE ANT DEMO IN 2006-08-22
       </description>
      
      
<!-- set global properties for this build -->
       <property   name = "src.dir"   value = "src"/>
       <property   file = "a.property"/>
       <property   name = "dest.dir" value = "class"/>
      
      
       <!-- Create the class directory structure used by compile -->
                     <target name = "init">
                            <mkdir dir = "${src.dir}"/>
                            <mkdir dir = "${dest.dir}"/> 
                     </target>
                    
                    
       <!-- Compile the java code from ${src} into class -->
              <target name = "compile" depends="init">
                     <javac srcdir = "${src.dir}" destdir="${dest.dir}" excludes="*.java" includes="Hello/*.java" />
              </target>
             
             
              <target name = "run" depends="compile">
               <java classname = "${mainClass}" classpath = "${dest.dir}"/>
               </target>
               
               
</project>
 
( * ) a.property文件:
就一行 mainClass=Test1
 
呵呵 ! 这样是不是在以后改动的时候方便多了 ?
 
        
 
        

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics