Ant实战篇 (一)
修订者:黄 凯
E_mail:hk_sz@163.com
前 言
由于现在公司进行Unit Test Case的整理阶段,所以抽空对Ant和Junit技术进行了一下了解,以下是集合了众家所长之精华(考虑到是按我的思路总结的,也许不能完全表述原作者的思路,所以在参考中我把所有参考过的文章网址或书籍都罗列了出来,大家有时间不妨去看看原文)。
如果对Ant部分参数不明白的话,请参看《Ant理论篇》系列或ant自带的文档。
目 录
一、 Ant使用实例
1.1 通过Ant的copt task将当前目录下最近更新的文件(按系统时间来区分)文件提交至指定目录
1.2 用Ant开发java程序
1.3 ant结合junit进行软件自动测试
1.4 ant开发和部署web应用程序
1.5 ant打包(jar)应用程序
1.6 ant开发EJB应用程序
参考
一、 Ant使用实例
1.4 ant开发和部署web应用程序
1> 前提:
★ 完成《JBuilder9+Weblogic7实战篇之Filter运用篇》,因为这是我们这次打包的实例;
★ 将Filter整个目录拷贝至D盘,我是用Jbuilder编辑的,所以除classes文件夹和Filter.war文件删除外,其他的保留,我们要用到的相关目录结构如下:
D:\Filter
src java源文件目录
Filter JSP文件及配置文件目录
WEB-INF 配置文件目录
2> 由于不是在Jbuilder环境进行编译,所以需要在CLASSPATH中定义servlet的路径。首先,我们到
http://java.sun.com/products/servlet/download.html
下载
然后将包含servlet-2_3-fcs-classfiles.zip的整个路径加到CLASSPATH中。
3> 在D:\Filter目录下创建build.properties和Filter.xml文件。
build.properties文件内容如下:
WebLogic.user_projects.mydomain.applications=C:/bea/user_projects/mydomain/applications
filter=Filter
dest=classes.ant
src=src
Filter.xml文件内容如下:
<?xml version="1.0"?>
<project default="init" basedir=".">
<property file="build.properties"/>
<target name="init" description="initialization">
<mkdir dir="${dest}" />
<javac destdir="${dest}">
<src path="${src}"/>
</javac>
</target>
<target name="war" depends="init">
<war destfile="Filter.war" webxml="${filter}/WEB-INF/web.xml" compress="false">
<classes dir="${dest}">
<include name="**/*.*"/>
</classes>
<fileset dir="${filter}">
<include name="**/*.*"/>
</fileset>
</war>
</target>
<target name="deploy" depends="war">
<copy todir="${WebLogic.user_projects.mydomain.applications}">
<fileset dir="." includes="Filter.war"/>
</copy>
</target>
<target name="rebuild" depends="clean,war">
<copy todir="${WebLogic.user_projects.mydomain.applications}">
<fileset dir="." includes="Filter.war"/>
</copy>
</target>
<target name="clean">
<delete includeEmptyDirs="true">
<fileset dir="${dest}"/>
<fileset dir=".">
<include name="Filter.war"/>
</fileset>
<fileset dir="${WebLogic.user_projects.mydomain.applications}">
<include name="Filter.war"/>
</fileset>
</delete>
</target>
</project>
4> 启动Weblogic server,在D:\Filter目录下运行ant deploy -buildfile Filter.xml进行部署,打开IE,在地址栏输入http://localhost:7001/Filter/login.jsp查看是否能正常运行。然后,你可以修改Filter子目录下的login.jsp文件中的代码,运行ant rebuild -buildfile Filter.xml重新部署,然后刷新http://localhost:7001/Filter/login.jsp查看显示修改后的结果是否正确。
5> 以上第3步是将web应用程序通过拷贝到%BEA_HOME%\user_projects\mydomain\applications目录下进行部署的,其实ant提供了对应于Weblogic的发布任务<serverdeploy>。请用下面代码替换掉build.properties和Filter.xml文件中的代码。
build.properties文件内容如下:
WebLogic.user_projects.mydomain.applications=C:/bea/user_projects/mydomain/applications
filter=Filter
dest=classes.ant
src=src
weblogic.server=C:/bea/weblogic700/server
username=training
user.password=training
weblogic.filter=C:/bea/user_projects/mydomain/myserver/upload/Filter
Filter.xml文件内容如下:
<?xml version="1.0"?>
<project default="init" basedir=".">
<property file="build.properties"/>
<target name="init" description="initialization">
<mkdir dir="${dest}" />
<javac destdir="${dest}">
<src path="${src}"/>
</javac>
</target>
<target name="war" depends="init">
<war destfile="Filter.war" webxml="${filter}/WEB-INF/web.xml" compress="false">
<classes dir="${dest}">
<include name="**/*.*"/>
</classes>
<fileset dir="${filter}">
<include name="**/*.*"/>
</fileset>
</war>
</target>
<target name="deploy" depends="war">
<serverdeploy action="deploy" source="Filter.war">
<weblogic application="Filter"
server="t3://127.0.0.1:7001"
classpath="${weblogic.server}/lib/weblogic.jar"
username="${username}"
password="${user.password}"
component="Filter:myserver"
debug="true"/>
</serverdeploy>
</target>
<target name="redeploy" depends="war">
<serverdeploy action="update" source="Filter.war">
<weblogic application="Filter"
server="t3://127.0.0.1:7001"
classpath="${weblogic.server}/lib/weblogic.jar"
username="${username}"
password="${user.password}"
component="Filter:myserver"
debug="true"/>
</serverdeploy>
</target>
<target name="list">
<serverdeploy action="list">
<weblogic application="Filter"
server="t3://127.0.0.1:7001"
classpath="${weblogic.server}/lib/weblogic.jar"
username="${username}"
password="${user.password}"
debug="true"/>
</serverdeploy>
</target>
<target name="undeploy">
<serverdeploy action="undeploy">
<weblogic application="Filter"
server="t3://127.0.0.1:7001"
classpath="${weblogic.server}/lib/weblogic.jar"
username="${username}"
password="${user.password}"
debug="true"/>
</serverdeploy>
</target>
<target name="delete">
<serverdeploy action="delete" source="Filter.war">
<weblogic application="Filter"
server="t3://127.0.0.1:7001"
classpath="${weblogic.server}/lib/weblogic.jar"
username="${username}"
password="${user.password}"/>
</serverdeploy>
</target>
<target name="clean">
<delete includeEmptyDirs="true">
<fileset dir="${dest}"/>
<fileset dir="${weblogic.filter}"/>
<fileset dir=".">
<include name="Filter.war"/>
</fileset>
<fileset dir="${WebLogic.user_projects.mydomain.applications}">
<include name="Filter.war"/>
</fileset>
</delete>
</target>
</project>
6> 启动Weblogic server,在D:\Filter目录下运行ant deploy -buildfile Filter.xml进行部署,打开IE,在地址栏输入http://localhost:7001/console/后在左边的单击mydomain\deployments\Web Applications\Filter,然后在右边单击“deploy”选项栏,查看是否部署成功。
再开一个IE,在地址栏输入http://localhost:7001/Filter/login.jsp查看是否能正常运行。接下来运行ant undeploy -buildfile Filter.xml进行取消部署,刷新http://localhost:7001/console/的浏览器,查看部署是否成功取消。
然后,你可以修改Filter子目录下的login.jsp文件中的代码,再运行ant redeploy -buildfile Filter.xml进行重新部署,再刷新http://localhost:7001/console/的浏览器,查看部署是否成功。
然后刷新http://localhost:7001/Filter/login.jsp查看显示修改后的结果是否正确。
最后,从Web Applications中删除Filter,运行ant delete -buildfile Filter.xml进行删除。刷新http://localhost:7001/console/的浏览器,查看是否成功(在左边的单击mydomain\deployments\Web Applications)。
参考
Ant 的使用
作者:不详
原址:http://php.igt.com.tw/unit_116.htm
使用 ANT 开发 Java 程序
作者:cinc
原址:http://www.douzhe.com/bbsjh/14/434.html
利用Ant实现项目自动构建测试备份并发布到项目web
作者:beyondii
原址:http://www.csdn.net/Develop/Read_Article.asp?Id=20443
http://www.csdn.net/Develop/Read_Article.asp?Id=20444
http://www.csdn.net/Develop/Read_Article.asp?Id=20445
http://www.csdn.net/Develop/Read_Article.asp?Id=20446
让编译和测试过程自动化
作者:Erik Hatcher
原址:http://www-900.ibm.com/developerWorks/cn/java/j-junitmail/
《J2EE应用开发(Weblogic+JBuilder)》
出版社: 电子工业出版社