网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java数据对象(JDO)的前世今生详细.
.全面介绍Xen虚拟机 深入学习Xen新.
.Java中文问题详解(转).
.Wireless Messaging API.
.整合 Macromedia Flex.
.选择应用服务器的七个标准.
.JPanel加载图像的过程.
.竹笋炒肉的cocoon学习笔记.
.java与数据库连接.
.Java中使用final修饰符需要注意的.
.Comparable 接口和 Collection 接.
.SWT代码研究(2).
.简要JAVA数据类型转换.
.XML——连接SQL和Web程序的桥梁(.
.JAVA文件加密器(收藏).
.在Jboss下WebService调用EJB一.
.struts 2.x.
.Java手机,好一场龙争虎斗.
.JAVA的类和方法(教程).
.Servlet2.3 API小介.

ant - java 构建工具 - hello ant

发表日期:2008-1-5



  治理你的代码,doc文件,编译,配置等开发工作你是怎末做的:自己治理源目录,编译文件,copy,实施...在window写bat,在unix写shell?
  
  可惜我不怎末会写。所以我制作一个ejb的过程是这样的:写代码->写个bat编译代码->组织文件(ejb-jar.XML,jboss.xml...)->压缩文件生成jar文档->实施......(还有同样的测试过程)(为甚末不用jbuild?)
  
  这中间每次修改都要经过重复的无数次手工copy,paste...过程,好累,好花时间。可我确实不想去学脚本编写,unix,Linux下我还得重学,太累。
  
  假如你和我一样希望自动执行预定义的动作却又不想太累,那末,我觉得ANT工具不错:它可以以相同的用法用在不同平台(跨平台)。它是Java做的,免费的,开源的,据说网上已经成了事实的JAVA构建标准,还听说高手都用它...... ^_^
  
  我花了2天时间才把握了它的基本用法,我希望你能通过我的文章和试验花半天时间就把握它。
  
  内容:
  
  下载,安装
  hello ant
  hello ant 进级
  参考及下载
  下载,安装
  
  又下载?又是一大堆参数变量? :(http://jakarta.apache.org/ant/index.Html 它是apache的java子项目"jakarta"的子项目.你可以选择当前的版本,目前我是1.5版,window版,以下就用它讲。
  
  解压后ant_home用来方便访问。并确保你也设置了java_home 。
  set ant_home=D:\java\kit\ant\jakarta-ant-1.5.1  这是我的目录
  
  就这些,简单吧。
  
  hello ant
  
  我们要开发一个java类:其内容只有一句,输出"hello ant"字符串。并使用ant完成编译和运行工作,这个例子只是为了跑通ant,不附加多余的东西。
  
  下图为文件组织,请建立相应的目录,并编写HelloAnt.java
  
 ant - java 构建工具 - hello ant(图一)

  按照人家老外的文件组织规则咱也照搬。
  hello.ant.HelloAnt.java
  package hello.ant;
  
  public class HelloAnt{
  public static void main(String[] args){
    System.out.println("hello ant,ant 的第一次接触,好棒!");
  }
  }
  在项目根目录(hello-ant\)写1个文件:ant执行配置文件build.xml
  
  build.xml
  <?xml version="1.0" encoding="GB2312" ?>
  
  <!-- 一个项目,可包含很多任务组(target) -->
  <project default="main" basedir=".">
  
  <!-- 项目中的一个任务组,可包含很多任务(task:javac,java...) -->
  <target name="main">
  
    <!--编译-->
    <javac srcdir="src\main\hello\ant" destdir="build\classes"/>
  
    <!--运行-->
    <java classname="hello.ant.HelloAnt">
      <classpath>
        <pathelement path="build\classes"/>
      </classpath>
    </java>
  
  </target>
  </project>
  ok,一切大功告成,哦,不,还没有运行它。
  
  dos下进入hello-ant的目录,即build.xml所在的目录,我们要用ant工具执行它 , 执行: %ant_home%/bin/ant -file build.xml   用ant工具执行当前目录下的配置文件build.xml 或 :ant -file build.xml          你假如设置%ant_home%/bin到path中这次ok了,这是答案:命令提示符窗口
  D:\temp\hello-ant>ant -file build.xml
  Buildfile: build.xml
  
  main:
  [javac] Compiling 1 source file to D:\temp\hello-ant\build\classes
  [java] hello ant,ant 的第一次接触,好棒!
  
  BUILD SUCCESSFUL
  Total time: 2 seconds
  D:\temp\hello-ant> 
  
  检查一下build/classes目录,哦,看到编译过的文件就在这里:
  build/classes/hello/ant/HelloAnt.class.
  
  hello ant 进级
  
  (此段比较废话,可以略过)
  你也许会说:这末简单的工作写个批处理不就得了,又xml又ant的,把我的时间都浪费完了,我用jbuild或webShpere不就得了,怎末说你才明白呢?反正网上开源项目大多数都用ant,你总不能给人家个*.jpx吧,而且这样的工具太贵,受不了(当然用D的兄弟不怕^_^ ),而且ant可以让你明确的治理和自动化所有的东西:编译-实施-测试...,哎,稍微麻烦一点点,但节约你以前花在零碎的copy,paste上的时间.而且我发现治理代码的质量有所提高.
  
  我们要改进build.xml,让它做更多的事情:
  
  定义全局变量
  初始化,主要是建立目录
  编译 (已有)
  打包为jar
  建立API documentation
  生成distribution产品
  凡事都讲究平衡,你要ant给你做更多事,当然要累一点点,不过只用累一次,以后的代码修改后的构建都是"一键式"完成,我们制作一个hello的简单例子,你可以自己做j2ee的练习。
  
  我们要扩充目录结构,使它更像回事:
  
  ant处理编译之前的目录:
  
 ant - java 构建工具 - hello ant(图二)

  ant处理之后的目录:
  
ant - java 构建工具 - hello ant(图三)

  图中:\src,\docs,\lib是自己组织的文件结构,\build,\dist是ant动态生成的成品。
  
  \src           源文件:java源,script源,jsp源,xml配置.....
  \src\main     java源
  \src\script   window,unix,liunx的执行script,我们的简单只有一个:
         run.bat: java hello.ant.HelloAnt
  
  \docs        手写说明文档
  \lib          程序所需类库的jar,比如j2ee.jar,mail,jar...
  
  \build        用ant动态生成的构建目录
  \build\classes 编译的类文件
  \build\docs     copy "\docs"的手写说明文档,和ant生成的api文档
  \build\lib      放置我们自己的HelloAnt.class打包成品hello-ant.jar
  
  \dist\bin    copy "\src\script" 得执行文件
  \dist\docs   copy "\build\docs" 的文档
  \dist\lib     除了copy "\build\lib"下的hello-ant.jar外,
               还应copy "\lib"的程序所需jar,这里我们没有。
  以上是我学老外的文件组织,大家可以按照自己的爱好组织
  
  我们编写必要的文件:
  
  hello.ant. HelloAnt.java
  已有 
  \src\script.bat
  @echo off
  echo ========================================================
  echo  请先设置 Environment
  echo .
  echo  JAVA_HOME: %JAVA_HOME%
  echo ======================================================
  
  %java_home%\bin\java -classpath ..\lib\hello-ant.jar hello.ant.HelloAnt
  
  pause
  
  \docs\index.html 随便写一个手写的文档
  hello ant 软件项目手册docs
  
  访问api文档
  
  \build.xml 配置文件
  <?xml version="1.0" encoding="GB2312" ?>
  <!--
  =======================================================================
   hello-ant 项目 ,学习ant工具的第2个build file.
  
   参照ant的jakarta-ant-1.6alpha的build.xml
  
   Copyright (c) 2002 The Neusoft Software Foundation. All rights
   reserved.
  
  =======================================================================
  -->
  
  <!--
  文档结构为:
  <project>
    <property/>        全局变量的定义
    <property/>...
  
    <target name="1">     任务组(tasks)
      <javac></javac>    一项javac任务
      ...
      <oneTask></ontTask>  一项其它任务
    </target>
  
    <target name="2">
      <javac></javac>
      ...
      <oneTask></ontTask>
    </target>
  </project>
  
  project代表一个项目,
  default:运行到名称为"dist"的target(任务组)
  basedir:基准路径。
  -->
  <project default="dist" basedir=".">
  
  <!--
  ===================================================================
   定义属性(property tasks)
   最好把用到的路径呀,名称呀都在这里定义成全局变量
   例:定义
     <property name="a" value="hello"/>
   以后就可以这样用它:
     <property name="b" value="${a}/b"/>
   现在:b=="hello/b"
  ===================================================================
  -->
  
  <!--主要的系统环
上一篇:Ant实战之Jar文件数字签名的制作 人气:795
下一篇:Java技巧:Hello World Ant 人气:662
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐