使用Ant进行Web开发.doc
文本预览下载声明
使用Ant进行Web开发, 第二部分作者:Steve Holzner译者:ginger547E-mail: ginger547@
编辑语:本文是The Definitive Guide, 2nd Edition的摘录的第二部分,在第一部分中作者Steve Holzner介绍了如何为Web应用程序打包,包括war,cab,ear和jspc.这周他将会介绍WEB 应用程序的部署,包括get, serverdeploy和 scp。
建立简单的Web部署
既然已经有了WAR文件(或 CAB文件), 是时候转向Web应用程序开发的部署了。如果你工作的机器本身就是一台Web服务器,部署将简单到只是把.war文件拷贝到服务器的相应应用程序目录。例 8-2说明了这一点; 这个创建文件建立和拷贝了一个 .war文件到Tomcat的webapps 目录.当你(重)启动Tomcat,这个.war文件就会被自动释放到一个同名的文件夹下(省去了.war扩展名),同时这个Web应用程序也变的可用,在这个例子中,在http://localhost:8080/app. (如果你正在部署一个Servlet,URL将会反映出Serlet的包结构,例如http://localhost:8080/org/antbook/ch08/app说明Serlet类的结构org.antbook.ch08.app.)
例 8-2. Tomcat部署的创建文件 (ch08/simple/build.xml)
?xml version=1.0 encoding = UTF-8?
project default=main basedir=.
property name=src location=source /
property name=wardir location=
c:/tomcat/jakarta-tomcat-5.0.19/webapps/
property name=warfile location=${wardir}/app.war/
target name=main depends=war
echo message=Deploying the Web app/
/target
target name=war
war destfile=${warfile} webxml=${src}/app.xml basedir=${bin} /
/target
/project
你可以使用Ant的 ftp 任务(查看第4章)来远程的部署到一个Web服务器的基础目录下.
使用SCP来部署
另一种从Ant 1.6开始有效的部署方式是SCP,它是把一个文件或者FileSet从一个运行SSH(SSH daemon 译者注 Daemon- [计] Internet中用于邮件收发的后台程序)的远程主机上拷贝(或者拷贝到远程主机上)。这种方式是一种可选的方式,而且你需要把jsch.jar 放到Ant的lib目录下来使用(你可以从以下地址得到jsch.jar /jsch/index.html).
用这种方式部署起来很方便。例如,这是一个怎么把一个单独的文件部署到一台远程主机的例子(任何的主机除非你明确地设置trust的属性为yes或者true,否则它一定要在你的已知主机(knownhosts)列表中):
scp file=Project.jar
todir=user:password@:/home/steven/cgi-bin/
你可以明确的使用password属性来设置密码:
scp file=Project.jar
todir=user@:/home/steven/cgi-bin
password=password/
这是如何拷贝一个远程文件到本地机器:
scp file=user:password@:/home/steven/cgi-bin/Project.jar
todir=${archive}/
这是如何利用fileset来拷贝一组文件:
scp todir=user:password@:
/home/steven/source
fileset dir=${src}
include name=**/*.java/
/fileset
/scp
例8-3给出了一个完整的利用scp方式来部署的构造文件。(它使用了远程主机的IP地址来代替了命名远程服务器。)
例 8-3. 利用scp (ch08/
显示全部