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

在企业开发中,需要不断的测试EJB,需要反复的打包和发布
如果通过Eclipse打包 和才用手工复制的方法发布,会降低项目的开发效率
为了提高效率,大部分企业会在项目中引入ANT
通过ANT完成对应用的编译 打包 发布 和 解发布

 

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

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

通过ANT提高EJB应用的开发效率
通过ANT提高EJB应用的开发效率
通过ANT提高EJB应用的开发效率
通过ANT提高EJB应用的开发效率
通过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目录了
  -->
 <property name="src.dir" value="${basedir}\src" />
 
 <!--
 定义一个变量,指向到系统环境变量
 因为要从系统变量中得到这些变量的值
 -->
 <property environment="env" />
 
 <!-- 定义变量,它的值为 系统 环境变量中JBOSS_HOME的值(jboss安装目录) -->
 <property name="jboss.home" value="${env.JBOSS_HOME}" />
 
 <!-- 指定目前用于jboss的配置项 -->
 <property name="jboss.server.config" value="default" />
 
 <!-- 用于编译源文件后这些class类它所存放的目录 -->
 <property name="build.dir" value="${basedir}\build"/>
 
 <!-- 配置了类路径 名称叫 build.classpath-->
 <!-- 在这个类目录底下,包含了client目录下的所有jar文件 -->
 <path id="build.classpath">
 
  <!--
  在开发EJB应用时,需要一些jar文件
  这些jar文件,是在安装jboss的client目录下
  定位到了jboss下的client目录
  <在这个类目录底下,包含了client目录下的所有jar文件
  -->
  <fileset dir="${jboss.home}\client">
  
   <!-- 把所有jar文件都包含进来 -->
   <include name="*.jar" />
  </fileset>
  
  <!-- 把编译后的class文件也作为类路径的一部分 -->
  <pathelement location="${build.dir}" />
 </path>
 
 <!-- 定义一个工作 叫 prepare 可随意设置 -->
 <target name="prepare">
 
  <!-- 如果原来有这个目录,就删掉 -->
  <delete dir="${build.dir}" />
  
  <!-- 用于创建build.dir目录(项目下build目录) -->
  <mkdir dir="${build.dir}" />
 </target>
 
 <!-- 编译工作 -->
 <!-- 确保编译前,${build.dir}文件夹存在,所以依赖前面的工作,用depends -->
 <target name="compile" depends="prepare" description="编译">
 
  <!-- 编译目录 ${src.dir} 目标的class文件放到${build.dir} -->
  <javac srcdir="${src.dir}" destdir="${build.dir}">
   
   <!--
   在编译时,用到了前面定义的类路径下的jar文件
   引用id 把前面设置的jar文件所在的类路径
   -->
   <classpath refid="build.classpath" />
  </javac>
 </target>
 
 <!-- 定义打包任务 -->
 <target name="ejbjar" depends="compile" description="创建EJB发布包">
 
  <!-- 对类文件进行打包
   打包后在 项目底下\项目名称 .jar (HelloWorld.jar)
   打包之前先需要编译,所以depends compile
   -->
  <jar jarfile="${basedir}\${ant.project.name}.jar">
  
   <!-- HelloWorld.jar下面包含的jar包
    定位到${build.dir} class文件所存放的目录
    -->
   <fileset dir="${build.dir}">
   
       <!-- 把它下面的所有class文件都包含进来 -->
    <include name="**/*.class" />
   </fileset>
  </jar>
 </target>
 
 <!-- 打包工作,依赖ejbjar -->
 <target name="deploy" depends="ejbjar" description="发布ejb">
 
  <!-- 把项目下的jar文件,copy到jboss\server\default\deploy下 -->
  <copy file="${basedir}\${ant.project.name}.jar"
  todir="${jboss.home}\server\${jboss.server.config}\deploy" />
 </target>
 
 <!-- 卸载ejb -->
 <target name="undeploy" description="卸载ejb">
 
  <!-- 直接把项目.jar包从jboss发布目录下删除即可 -->
  <delete
  file="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar" />
 </target>
 
</project>

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

保存之后,打开Outline 大纲视图:
通过ANT提高EJB应用的开发效率
以后修改了程序,部署时,直接运行deploy即可(右键,Run As --> Ant Build)提高企业开发效率

控制台输出:

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

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

卸载EJB,则执行undeploy
通过ANT提高EJB应用的开发效率

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

猜你喜欢

转载自leon-s-kennedy.iteye.com/blog/1537124