通过ANT提高EJB应用的开发效率

MyIgnorance 2012-05-22

在企业开发中,需要不断的测试EJB,需要反复的打包和发布

如果通过Eclipse打包和才用手工复制的方法发布,会降低项目的开发效率

为了提高效率,大部分企业会在项目中引入ANT

通过ANT完成对应用的编译 打包 发布 和 解发布

Eclipse集成了ANT,右键项目,new XML File文件

起名为:build.xml (小蚂蚁图标)

通过ANT提高EJB应用的开发效率

以下是代码:

--------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<!-- name为项目名称,basedir指定项目所在路径和build.xml文件同级 --><project name="HelloWorld" basedir=".">

 <!--

定义属性变量src.dir用于指定项目的源文件所在的目录

value中${basedir}是引用的project标签中的basedir(项目所在路径)

通过src.dir变量,就可以引用到了项目的\src目录了

-->

<propertyname="src.dir"value="${basedir}\src"/>

<!--

定义一个变量,指向到系统环境变量

因为要从系统变量中得到这些变量的值

-->

<propertyenvironment="env"/>

<!--定义变量,它的值为系统环境变量中JBOSS_HOME的值(jboss安装目录)-->

<propertyname="jboss.home"value="${env.JBOSS_HOME}"/>

<!--指定目前用于jboss的配置项-->

<propertyname="jboss.server.config"value="default"/>

<!--用于编译源文件后这些class类它所存放的目录-->

<propertyname="build.dir"value="${basedir}\build"/>

<!--配置了类路径名称叫build.classpath-->

<!--在这个类目录底下,包含了client目录下的所有jar文件-->

<pathid="build.classpath">

<!--

在开发EJB应用时,需要一些jar文件

这些jar文件,是在安装jboss的client目录下

定位到了jboss下的client目录

<在这个类目录底下,包含了client目录下的所有jar文件

-->

<filesetdir="${jboss.home}\client">

<!--把所有jar文件都包含进来-->

<includename="*.jar"/>

</fileset>

<!--把编译后的class文件也作为类路径的一部分-->

<pathelementlocation="${build.dir}"/>

</path>

<!--定义一个工作叫prepare可随意设置-->

<targetname="prepare">

<!--如果原来有这个目录,就删掉-->

<deletedir="${build.dir}"/>

<!--用于创建build.dir目录(项目下build目录)-->

<mkdirdir="${build.dir}"/>

</target>

<!--编译工作-->

<!--确保编译前,${build.dir}文件夹存在,所以依赖前面的工作,用depends-->

<targetname="compile"depends="prepare"description="编译">

<!--编译目录${src.dir}目标的class文件放到${build.dir}-->

<javacsrcdir="${src.dir}"destdir="${build.dir}">

<!--

在编译时,用到了前面定义的类路径下的jar文件

引用id把前面设置的jar文件所在的类路径

-->

<classpathrefid="build.classpath"/>

</javac>

</target>

<!--定义打包任务-->

<targetname="ejbjar"depends="compile"description="创建EJB发布包">

<!--对类文件进行打包

打包后在项目底下\项目名称.jar(HelloWorld.jar)

打包之前先需要编译,所以dependscompile

-->

<jarjarfile="${basedir}\${ant.project.name}.jar">

<!--HelloWorld.jar下面包含的jar包

定位到${build.dir}class文件所存放的目录

-->

<filesetdir="${build.dir}">

<!--把它下面的所有class文件都包含进来-->

<includename="**/*.class"/>

</fileset>

</jar>

</target>

<!--打包工作,依赖ejbjar-->

<targetname="deploy"depends="ejbjar"description="发布ejb">

<!--把项目下的jar文件,copy到jboss\server\default\deploy下-->

<copyfile="${basedir}\${ant.project.name}.jar"

todir="${jboss.home}\server\${jboss.server.config}\deploy"/>

</target>

<!--卸载ejb-->

<targetname="undeploy"description="卸载ejb">

<!--直接把项目.jar包从jboss发布目录下删除即可-->

<delete

file="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar"/>

</target>

</project>

--------------------------------------------------------------------------

保存之后,打开Outline 大纲视图:

以后修改了程序,部署时,直接运行deploy即可(右键,Run As --> Ant Build)提高企业开发效率

控制台输出:

通过ANT提高EJB应用的开发效率

-----------------------------------------------------------

卸载EJB,则执行undeploy

注意,一定要先开启jboss哦!

相关推荐

知其然知其所以然 / 0评论 2010-10-14