站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题Ant实战篇 (二)

Ant实战篇 (二)

摘要: Ant实战篇 (二)

E_mail:hk_sz@163.com
前 言
由于现在公司进行Unit Test Case的整理阶段,所以抽空对Ant和Junit技术进行了
一下了解,以下是集合了众家所长之精华(考虑到是按我的思路总结的,也许不能
完全表述原作者的思路,所以在参考中我把所有参考过的文章网址或书籍都罗列了
出来,大家有时间不妨去看看原文)。
如果对Ant部分参数不明白的话,请参看《Ant理论篇》系列或ant自带的文档。
在这里要特别感谢我的同事王万鹏为本文档提供demoEJB实例,促使本文档提前完成
。同时也要感谢一直以来给以我帮助的葛威龙同事,因为本人英文水准不高,很多
不解的地方都得到了他大力的协助。在此特对他们表示衷心的谢意!!!
目 录
一、 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应用程序
参考
1.5 ant打包(jar)应用程序
1> 前提:
本例使用的目录结构如下:
D:\ age
src java源文件目录
META-INF 配置文件目录
2> 在src目录下创建VirtualAge.java和MyVirtualAge.java文件。
VirtualAge.java内容如下:
public final class VirtualAge {
public static int yeasOld(int i) {
return i+1; } }
MyVirtualAge.java内容如下:
public class MyVirtualAge {
public static void main(String[] args) {
int myAge= 10;
System.out.println("My Age is "+myAge);
System.out.println("My Virtual Age is "+VirtualAge.yeasOld
(myAge)); } }
3> 在age目录下建立build.properties和build.xml文件。
build.properties文件内容如下:
src=src
classes=classes
jar=jar
manifest=META-INF
author.name=Kay
build.xml文件内容如下:
<?xml version="1.0"?>





















fork="true"
failonerror="true">







fork="true"
failonerror="true">






















4> 在age目录下运行ant runjar查看结果(也可以试试运行ant run,结果是一样的)。
1.6 ant开发EJB应用程序
1> 本例使用的目录结构如下:
D:\ demoEJB
src java源文件目录
conf 配置文件目录
2> 在src目录下创建ConverterEJB.java、ConverterHome.java、Converter.java和
Client.java文件。
ConverterEJB.java文件内容如下:
import java.rmi.RemoteException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import java.math.*;
public class ConverterEJB implements SessionBean {
BigDecimal yenRate = new BigDecimal("121.6000");
BigDecimal euroRate = new BigDecimal("0.0077");
public BigDecimal dollarToYen(BigDecimal dollars) {
BigDecimal result = dollars.multiply(yenRate);
return result.setScale(2,BigDecimal.ROUND_UP); }
public BigDecimal yenToEuro(BigDecimal yen) {
BigDecimal result = yen.multiply(euroRate);
return result.setScale(2,BigDecimal.ROUND_UP); }
public ConverterEJB() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext sc) {} }
ConverterHome.java文件内容如下:
import javax.ejb.EJBHome;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
public interface ConverterHome extends EJBHome {
Converter create() throws RemoteException, CreateException; }
Converter.java文件内容如下:
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
import java.math.*;
public interface Converter extends EJBObject {
public BigDecimal dollarToYen(BigDecimal dollars) throws
RemoteException;
public BigDecimal yenToEuro(BigDecimal yen) throws RemoteException; }
Client.java文件内容如下:
import java.rmi.RemoteException;
import java.util.Collection;
import java.util.Hashtable;
import java.util.Properties;
import java.util.Vector;
import java.util.Iterator;
import javax.ejb.CreateException;
import javax.ejb.DuplicateKeyException;
import javax.ejb.FinderException;
import javax.ejb.ObjectNotFoundException;
import javax.ejb.RemoveException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import java.math.BigDecimal;
public class Client {
private static Context getInitialContext() throws NamingException {
try {
Properties h = new Properties();
h.put
h.put(Context.PROVIDER_URL, "t3://localhost:7001");
return new InitialContext(h);
} catch (NamingException ne) {
throw ne; } }
public static void main(String[] args) {
try {
Context initial = getInitialContext();
Object objref = initial.lookup("ejb/session/converter");
ConverterHome home =(ConverterHome)
PortableRemoteObject.narrow(objref,ConverterHome.class);
Converter currencyConverter = home.create();
BigDecimal param = new BigDecimal ("100.00");
BigDecimal amount = currencyConverter.dollarToYen(param);
System.out.println(amount);
amount = currencyConverter.yenToEuro(param);
System.out.println(amount);
System.exit(0);
} catch (Exception ex) {
System.err.println("Caught an unexpected exception!");
ex.printStackTrace(); } } }
3> 在demoEJB目录下建立build.properties和build.xml文件。
build.properties文件内容如下:
src=src
conf=conf
classes=classes
manifest=classes/META-INF
jar=jar
weblogic.lib=c:/bea/weblogic700/server/lib
author.name=Kay
username=training
user.password=training
ejb.name=demoEJB
weblogic.deploy.dir=C:/bea/user_projects/mydomain/myserver/upload
build.xml文件内容如下:
<?xml version="1.0"?>


































server="t3://127.0.0.1:7001"
classpath="${weblogic.lib}/weblogic.jar"
username="${username}"
password="${user.password}"
component="${ejb.name}:myserver"
debug="true"/>




server="t3://127.0.0.1:7001"
classpath="${weblogic.lib}/weblogic.jar"
username="${username}"
password="${user.password}"
component="${ejb.name}:myserver"
debug="true"/>




server="t3://127.0.0.1:7001"
classpath="${weblogic.lib}/weblogic.jar"
username="${username}"
password="${user.password}"
debug="true"/>




server="t3://127.0.0.1:7001"
classpath="${weblogic.lib}/weblogic.jar"
username="${username}"
password="${user.password}"/>



fork="true"
failonerror="true">




















delete Delete the JAR Archive file's location from Web
application






4> 启动Weblogic server,然后在age目录下首先运行ant deploy部署,然后运行
ant run查看结果。
参考
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)》
出版社: 电子工业出版社
《The BestBook Advanced Programmer Java2》
作者:张洪斌
出版社:不详
↑返回目录
前一篇: Ant实战篇 (一)
后一篇: Ant实践