Ant下常用的Web项目构建脚本
Ant是Java开发工具箱中的一个重要工具,Java开源世界中著名的Junit,Xdoclet等都与其紧密关联,绝大多数程序员可能习惯了使用集成IDE(如JBuilder、IDEA和Myeclipse插件等)所提供的自动构建、编译、部署以及项目预览等功能,从而忽略了Ant本身的强大功能。其实,这些主流的IDE通常都是通过内置Ant任务来实现上述功能的,熟悉Ant的内在机理,能够读懂并且能够简单地修改l文件无疑可以帮助用户更灵活地集成和管理个人的Java Web应用项目。此外,使用开源软件进行项目的开发可以让开发者完全了解到该技术的基本原理与具体实现,可以让软件开发的原始投入成本降低到最低,可以避免使用盗版开发工具而引起的法律责任。需要进一步指出的是,Ant经过Apache基金会长期的维护与升级已经成为一款可靠的、成熟的、标准的项目构建工具,大多数Java开源项目都是引用它来进行整个项目管理,使用Ant的过程实际上对项目构建进行了文档化,它是与具体IDE分离的。与此同时,Ant脚本是基于XML的,是非常容易学习的。
Ecipse是主流的开源Java编辑器,它将Ant整合在了一起,因此该平台完全支持Ant脚本文件(默认为l)的编写。用户可以根据自身的需要,通过Eclipse中“窗口”-“首选项”-“A
nt”来修改Ant的默认配置。在默认情况下,Eclipse会将文件名为l的文件视为Ant的脚本文件,并导入编写Ant脚本文件所需要的代码辅助功能,极大地提高了Ant脚本文件的编写效率。
1、 Ant下的Web应用服务器控制
在Tomcat的lib目录下有一个catalina-ant.jar包,这个包将Tomcat的管理操作(启动、关闭等)以API的形式完全开放给Ant,因此完全可以通过这个catalina-ant.jar包来实现Ant脚本对Tomcat应用服务器的操作控制。
(1)、创建一个properties文件,存放与Tomcat应用服务器相关的一些属性参数,如Tomcat应用服务器具有最高管理权限的用户名和密码、端口等。该文件被命名为build.properties,其相关代码如下:
#Tomcat Application Server
tomcat.home=D:\\Apache Software Foundation\Tomcat 5.5
tomcat.manager.url=localhost:8080/manager
tomcat.username=admin
tomcat.password=admin
(2)、在Eclipse编辑器中创建一个名为l的文件,Eclipse会根据文件名自动将该文件识别为Ant脚本文件,其相关代码如下:
<?xml version=”1.0” encoding=”UTF-8”?>
<project name=”tomcat_operation” basedir=”.” Default=”at”>
<property file=”build.properties”/>
<!---启动Tomcat->
<target name=”at” description=”starts tomcat in the current console window”>
<java classname=”org.apache.catalina.startup.Bootstrap” fork=”yes”>
<jvmarg value=”-Dcatalina.home=${tomcat.home}”/>
<arg value=”start”/>
<classpath>
<pathelement path=”${java.home}/../lib/tools.jar”/>
<fileset dir=”${tomcat.home}”>
<include name=”bin/bootstrap.jar”/>
</fileset>
</classpath>
</java>
</target>
<!---关闭->
<target name=”at” description=”closes tomcat in the current console window”>
<java classname=”org.apache.catalina.startup.Bootstrap” fork=”yes”>
<jvmarg value=”-Dcatalina.home=${tomcat.home}”/>
<arg value=”stop”/>
<classpath>
<pathelement path=”${java.home}/../lib/tools.jar”/>
<fileset dir=”${tomcat.home}”>
<include name=”bin/bootstrap.jar”/>
</fileset>
</classpath>
</java>
</target>
</project>
2、 Ant下的Web项目构建与部署
在一般情况下,一个Web项目的开发必须经过开发环境的配置、源代码的编辑、源代码的编译、项目的部署等主要步骤,Ant与Eclipse相结合,可以将源代码的编辑工作交给Eclipse来完成,利用Eclipse来建立符合J2EE Web开发规范的目录结构,即在所开发的Web项目下建立源文件、WEB-INF文件夹以及WEB-INF目录下的classes文件夹、lib文件夹和l文件。其余步骤完全可以交由强大的Ant来完成,下面将介绍具体的实现过程。
(1)、首先在先前的build.properties文件中添加一些与所要开发Web项目相关的属性参数。假设所要开发的Web项目名为HelloWorld。其相关代码如下:
#Web Application Properties
webapp.name=HelloWorld
#WorkBench Development Properties
java.dir=${basedir}\\source
class.dir=${basedir}\\WEB-INF\\classes
webapp.dir=${tomcat.home}\\webapps\\${webapp.name}
(2)、在先前的l中增加Web项目构建与部署的相关脚本代码,其相关代码如下:
<!—编译Java源文件-->
<target name=”compile-java”>
<javac srcdir=”${java.dir}” destdir=”${class.dir}”/>
</target>
<!--部署Web项目-->
<target name=”deploy-web”>
<copy todir=”${webapp.dir}”>
<fileset dir=”${basedir}”>
<include name=”**/*.*”/>
<include name=”**/*”/>
<exclude name=”**/*.classpath”/>
<exclude name=”**/*.project”/>
</fileset>
</copy>
</target>
<!---清除Web项目->
<target name=”delete-web”>
<delete dir=”${webapp.dir}”/>
</target>
3、Ant下的Web项目管理与监控
catalina-ant.jar除了提供Tomcat应用服务器启动、关闭等常规操作的API接口外,还针对Tomcat应用服务器中的每一个Web项目提供了完备的管理监控接口。
(1)、创建一个properties文件,存放与Tomcat Web项目操作相关的一些属性参数,也就是各个操作任务在catalian-ant.jar包所对应的路径和类名。该文件被命名为tomcatTasks.properties,其相关代码如下:
list=org.apache.catalina.ant.ListTask
start=org.apache.catalina.ant.StartTask
stop=org.apache.catalina.ant.StopTask
reload=org.apache.catalina.ant.ReloadTask
remove=org.apache.catalina.ant.RemoveTask
(2)、在先前的l中增加相关的Ant控制Tomcat Web项目的相关脚本代码,其相关代码如下:
<taskdef file=”tomcatTasks.properties”>
<classpath>
<fileset dir=”${tomcat.home}/lib” include=”catalina-ant*.jar”/>
</classpath>
</taskdef>
<target name=”list” description=”List Tomcat applications”>
<list url=”${tomcat.manager.url}”
username=”${tomcat.username}”
password=”${tomcat.password}”/>
</target>bootstrap项目
<target name=”start” description=”Start Tomcat application”>
<start url=”${tomcat.manager.url}” username=”${tomcat.username}”
password=”${tomcat.password}” path=”/${webapp.name}”/>
</target>
<target name=”stop” description=”Stop Tomcat application”>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论