服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

使用ant进行web开发, 第一部分


  本文是ant: the definitive guide, 2nd edition的摘录的两部分当中的第一部分,作者steve holzner介绍了web application的打包。并将于下周对第二部分做出修改,它将会介绍web 应用程序的部署,包括get, serverdeploy, 和 scp。
  
  对于ant开发者来说开发web就好像面包与黄油一样。在你的配置当中包含一系列的任务:第四章中我们将会介绍对应用包括web应用的打包和部署的方法,包括移动,复制,ftp,telnet,sshesec,和mail等任务。ant提供给我们的工具比我们提高的更多。这一章中我们将会介绍针对web应用打包的方法,包括deploy,reload,和undeploy等任务。第九章中将会介绍更多关于ejb的ant任务。
  
  建立war文件
  
  war任务是jar任务的一个扩展,它将web应用程序打进.war文件当中,通过特殊的方法,文件将会被放置到服务器的web-inf/lib, web-inf/classes 和 web-inf目录当中。举例来说,当用户在编译工程之后产生以下的目录布局:
  
 使用ant进行web开发, 第一部分(图一)

  例8-1当中使用的build文件将会把你需要部署的应用创建在.war文件当中,将.class文件放入web-inf/classes目录,重新命名login.xml,web.xml文件,并将其放入web-inf目录当中,以及其它任务。
  
  例8-1 建立war文件(ch08/war/build/xml)
  
  <?xml version="1.0" encoding="utf-8" ?>
  <project default="main" basedir=".">
  <property name="bin" value="output" />
  <property name="src" value="source" />
  <target name="main">
  <war destfile="login.war" webxml="${src}/login.xml">
  <fileset dir="${src}/html"/>
  <classes dir="${bin}"/>
  </war>
  </target>
  </project>
  
  build 文件如下所示:
  
  %antbuildfile: build.xmlmain:
  [war] building war: /home/steven/ant/ch08/war/login.warbuild successfultotal time: 2 seconds
  
  通过上面的命令,我们建立了.war文件。除了将指定文件打包之外,ant同时在.war文件当中提供了一个缺省的清单文件,manifest.mf。这个文件包含下面的内容:
  
  manifest-version: 1.0ant-version: apache ant 1.6.1created-by: 1.4.2_03-b02 (sun microsystems inc.)
  
  在建立.war文件之后,用户可以将它部署到web服务器的部署目录下,例如tomcat服务器上的webapps目录。
  
  在表8-1中列出了war任务的属性:
  
  小技巧:war任务是一种指定.war文件部署的快捷方式。在使用zip或者jar任务时,使用不同的前缀(prefix)和完整路径(fullpath)可以达到与war任务同样的效果。
  
  表8-1. war 任务属性列表
  
 使用ant进行web开发, 第一部分(图二)

  war任务可以包含像fileset及zipfileset这些指定在.war文件中应该包含有什么文件的元素。war任务可以通过这些元素来指定各种文件应该放在什么地方:
  
  -webinf元素里面的文件,放在web-inf路径下
  -classes元素里面的文件,放在web-inf/classes路径下
  l-ib元素里面的文件,放在web-inf/lib路径下
  -metainf元素里面的文件,放在meta-inf路径下
  
  建立cab文件
  
  cab任务的作用是建立microsoft.cab 档案文件,cab任务的使用方法类似于jar或是zip任务。.cab文件相当于.net系统的.war文件,用于部署.net应用程序到服务器。这个任务在windows环境下使用外部工具cabarc(microsoft提供)工作,cabarc必须包含在执行路径当中。
  
  鉴于microsoft visual studio ide已经提供了很多强有力集成工具和向导来建立.cab文件,我们不打算在这里花太多的时间;大多数的microsoft开发者也不使用ant来解决他们的构建问题。提供一个使用ant cab任务的建立例子:
  
  <cab cabfile="${deploy}/app.cab" basedir="${output}" />
  
  小技巧:你可以免费的得到microsoft c#的命令行编辑器,csc, 如果你的windows并没有包含这个工具,你可以安装.net framework's software development kit (sdk)(可以在http://msdn.microsoft.com/downloads上得到)。csc的编译器被包含在这个sdk当中。
  
  表 8-2. the cab 任务属性列表
  
使用ant进行web开发, 第一部分(图三)

  用户可以使用嵌套的fileset元素来指定想要包含在文档当中的文件。相对于其他ant任务来说这个任务形成一个隐含的fileset,同时支持fileset元素(dir成为basedir)的所有属性,包括嵌套的元素include,exclude和patternset元素。

扫描关注微信公众号