`

Ant编译,打包,部署

    博客分类:
  • Ant
ant 
阅读更多

 

 

CCS开发项目,通过Ant,将Common,EJB,Web三个模块,进行编译、打包、部署

build.xml

<?xml version="1.0" encoding="GBK"?>

<!-- ======================================================================= -->
<!-- JBoss build file                                                       -->
<!-- ======================================================================= -->
<!-- 银行信用系统构建脚本,部署CCS系统 -->
<project name="CCS srcipt" default="deploy CCS" basedir="."><!-- 基目录为build.xml的当前目录 -->

	<!-- 定义环境 -->
   	<property environment="env"/>
   	<property name="src.dir" value="${basedir}/src"/>	<!-- 源文件目录 -->
   	<property name="build.dir" value="${basedir}/bin"/>  <!-- 这里作为编译后临时的存放的目录 -->
	<property name="webapp.dir" value="${basedir}/src/webapp"/>
   	<property name="jboss.home" value="${env.JBOSS_HOME}"/>  <!-- JBoss目录 --> 
   	<property name="jboss.server.config" value="default"/> <!-- 文件夹名 --> 

	<!-- 在构建时,编译源文件所依赖的类包的类路径 -->	
   	<!-- Build classpath -->
   	<path id="classpath">
      	<fileset dir="${jboss.home}/lib">
         	<include name="**/*.jar"/>
      	</fileset>
      	<fileset dir="${jboss.home}/server/${jboss.server.config}/lib">
         	<include name="**/*.jar"/>
      	</fileset>
      	<fileset dir="${jboss.home}/server/${jboss.server.config}/deploy/ejb3.deployer">
         	<include name="*.jar"/>
      	</fileset>
      	<fileset dir="${jboss.home}/server/${jboss.server.config}/deploy/jboss-aop-jdk50.deployer">
         	<include name="*.jar"/>
      	</fileset>
      	<pathelement location="${build.dir}"/>  <!-- 路径 -->
   	</path>
	
	
	<!-- ================================================================ -->
	<!-- Common模块                                                       -->
	<!-- ================================================================ -->
	<!-- 编译Common源代码 -->
  	<target name="compile Common">	<!-- 目标 -->
   		<delete dir="${build.dir}"/>	<!-- 删除目录 -->
  		<mkdir dir="${build.dir}"/>	<!-- 创建目录 -->
  		<!-- 编译 -->
      	<javac 
         	destdir="${build.dir}" 
         	debug="on"
         	deprecation="on"
         	optimize="off"
         	includes="**">
      		<src path="${src.dir}/common"/>	<!-- 源文件目录 -->
         	<classpath refid="classpath"/> <!-- 编译源文件所以的类 -->
      	</javac>
   	</target>
	
	<!-- 将Common模块打包 -->
   	<target name="pack Common" depends="compile Common">  <!-- 触发执行上一个目标 -->
   	  	<delete file="common.jar" />	<!-- 删除文件 -->
      	<jar jarfile="common.jar">	<!-- 打包文件,默认放在基目录下 -->
         	<fileset dir="${build.dir}">  <!-- 文件所在目录 -->
            	<include name="**/*.class"/> 	<!-- 文件类型 -->
         	</fileset>
      	</jar>
   	</target>	
	
	
	<!-- ================================================================ -->
	<!-- EJB模块                                                          -->
	<!-- ================================================================ -->
	<!-- 编译EJB源代码 -->
  	<target name="compile EJB" depends="pack Common">
   		<delete dir="${build.dir}"/>
  		<mkdir dir="${build.dir}"/>
      	<javac 
         	destdir="${build.dir}"
         	debug="on"
         	deprecation="on"
         	optimize="off"
         	includes="**">
      		<src path="${src.dir}/model"/>
      		<src path="${src.dir}/manager"/>
         	<classpath refid="classpath"/>	<!-- 编译源文件时所需要的类 -->
      		<classpath> 
      			<fileset file="common.jar"/> <!-- 编译源文件时所引用的common包里的类 -->
      		</classpath>
      	</javac>
   	</target>

	<!-- 将EJB模块打包 -->
   	<target name="pack EJB" depends="compile EJB">
   	  	<delete file="ccs.jar" />
      	<jar jarfile="ccs.jar" manifest="manifest-ejb.mf">  <!-- 生成的MANIFEST.MF文件,引用自指定的文件 -->
         	<fileset dir="${build.dir}">
            	<include name="**/*.class"/>
         	</fileset>
      	 	<fileset dir="${src.dir}/resources"/>
      	</jar>
   	</target>
	
	
	<!-- ================================================================ -->
	<!-- Web模块                                                          -->
	<!-- ================================================================ -->
	<!-- 编译Web源代码 -->
  	<target name="compile Web" depends="pack Common,pack EJB">
   		<delete dir="${webapp.dir}/WEB-INF/classes"/>
  		<mkdir dir="${webapp.dir}/WEB-INF/classes"/>
      	<javac 
         	destdir="${webapp.dir}/WEB-INF/classes"
         	debug="on"
         	deprecation="on"
         	optimize="off"
         	includes="**">
      		<src path="${src.dir}/view"/>   <!-- 源文件目录 -->
         	<classpath refid="classpath"/>
      		<classpath>
      			<fileset file="common.jar"/>
      		</classpath>
      		<classpath>
      			<fileset file="ccs.jar"/>
      		</classpath>
      		<classpath>
      			<fileset dir="${webapp.dir}/WEB-INF/lib">
      				<include name="*.jar"/>
      			</fileset>
      		</classpath>
      	</javac>
  		<copy todir="${webapp.dir}/WEB-INF/classes">  <!-- 复制配置文件 -->
  			<fileset dir="${src.dir}/view" includes="*.xml,*.properties"/>
  		</copy>
   	</target>
	
	<!-- 将Web模块打包 -->
   	<target name="pack Web" depends="compile Web">
   	  	<delete file="ccs.war" />
   		<!-- 生成war文件,引用现成的web.xml(以配置Web属性) -->
	    <war 
	      	destfile="ccs.war" 
	      	update="true"
	      	webxml="${webapp.dir}/WEB-INF/web.xml"
	      	basedir="${webapp.dir}"
	    	manifest="manifest-web.mf"
	    />
   	</target>
	
	
	<!-- ================================================================ -->
	<!-- 综合打包                                                         -->
	<!-- ================================================================ -->
	<!-- 将COMMON、EJB、WEB打包为EAR -->
	<target name="pack COMMON EJB WEB into EAR" depends="pack Common,pack EJB,pack Web">
	 	<delete file="ccs.ear" />
		<!-- 生成ear文件,引用现成的application.xml(以配置EJB和Web的引用) -->
	    <ear 
	     	destfile="ccs.ear" 
	      	update="true" 
	      	appxml="${basedir}/application.xml"
	     >
	      	<fileset dir="${basedir}" includes="common.jar,ccs.jar,ccs.war"/>
	     </ear>
	</target>
	
	
	<!-- ================================================================ -->
	<!-- 最终部署                                                         -->
	<!-- ================================================================ -->
	<!-- 部署CCS系统到JBoss -->
	<target name="deploy CCS" depends="pack COMMON EJB WEB into EAR">
		<copy file="ccs.ear" overwrite="true" todir="${jboss.home}/server/${jboss.server.config}/deploy"/><!-- 文件覆盖 -->
	</target>
</project>

 

 

分享到:
评论

相关推荐

    使用Ant编译打包

    **Ant编译打包详解** Ant 是 Apache 软件基金会的一个开源项目,它是一个基于Java的构建工具,类似于Make,但更为现代且专为Java设计。Ant使用XML来描述构建过程,包括编译、测试、打包和部署等任务,使得开发者...

    ant -buid.xml打包部署文件

    ant 编译、打包、部署项目的build文件

    Ant打包编译部署工具学习笔记2(附件中含有测试项目)

    在"Ant打包编译部署工具学习笔记2"中,我们可以预期博主分享了关于如何利用Ant进行更复杂的构建操作,例如集成测试、优化和打包。这可能包括如何配置build.xml文件,添加自定义任务,以及如何处理依赖关系。由于没有...

    ant打包部署工具,官方下载

    3. **打包JAR/WAR**:Ant能够将编译后的类文件和其他资源打包成JAR或WAR文件,这对于创建可分发的Java应用或Web应用至关重要。 4. **运行测试**:Ant支持JUnit和其他测试框架,可以自动化执行单元测试和集成测试,...

    ant编译java工程

    标题 "ant编译java工程" 涉及到的是使用Apache Ant工具来构建Java应用程序的过程。Apache Ant是一个基于XML的构建工具,它允许开发者通过声明式的方式定义项目构建任务,而不是采用程序化的方式。在Java开发中,Ant...

    ant打包编译全套资料

    "ant案例"涵盖了各种实际场景的应用,比如如何配置Ant来编译Java项目、打包JAR文件、生成WAR文件以部署到Web服务器,甚至如何执行单元测试、代码覆盖率分析等。通过实际操作案例,可以更直观地学习Ant的工作原理和...

    Ant脚本打包部署要点.zip_sme_打包部署!

    本文将详细讲解Ant脚本在打包部署中的要点,以及如何通过修改`common.properties`文件来设置代码分支。 首先,让我们了解Ant的基本结构。一个Ant项目通常包含一个名为`build.xml`的主配置文件,这个文件定义了构建...

    mac下ant打包android

    这些任务可以包括编译源代码、运行测试、打包和部署等。 在Android开发中,Ant可以用来编译、签名和打包APK。当你要为不同的渠道(如不同的应用商店)打包应用时,通常需要修改build.xml文件,添加相应的渠道参数。...

    ant打包的build.xml文件

    一个普通java程序用ant打包的列子,完整的,里面采用的是eclipse自带的编译插件进行的打包,需要结合eclipse中的插件一起使用

    (总结完整版) Ant 从SVNCVS下载 编译打包部署到本地远程服务器 (FTP上传)

    【标题】:“Ant 从SVNCVS下载 编译打包部署到本地远程服务器 (FTP上传)” 【描述】:这篇博客详细介绍了如何使用Apache Ant工具从版本控制系统(如SVN或CVS)下载源码,然后进行编译、打包,并最终通过FTP上传到...

    ant编译1.9版本

    在“ant编译1.9版本”中,我们关注的是Apache Ant 1.9.6这个特定版本的使用方法和特性。 Apache Ant 1.9.6发布于2015年,作为Ant 1.9系列的一个稳定版本,它提供了一系列改进和修复,以提高构建效率和稳定性。这个...

    ant编译依赖包

    总的来说,使用Ant编译Java项目并创建jar包,你需要编写一个包含`&lt;javac&gt;`和`&lt;jar&gt;`任务的构建文件,同时可以利用Ivy管理依赖,Emma生成测试覆盖率报告,以及Ant Contrib中的额外任务来增强Ant的功能。通过这种方式...

    (总结版) Ant 从SVNCVS下载 编译打包部署到本地远程服务器 (FTP上传).docx

    本文档提供了一种全面的方法,让开发者可以使用Ant自动化处理从版本控制获取代码、编译、打包、部署到远程服务器的整个流程。这对于大型J2EE项目的持续集成和持续部署(CI/CD)尤其有用,提高了开发效率并减少了手动...

    ant脚本编译jar

    在Java开发过程中,打包和部署是必不可少的环节,而`Ant`作为一个强大的构建工具,能够帮助我们自动化这些任务。本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际...

    antsvn更新打包部署提交自动化

    标题中的“antsvn更新打包部署提交自动化”涉及的是在软件开发过程中如何利用Ant(一个Java构建工具)和Subversion(SVN,版本控制系统)实现自动化的构建、更新、打包、部署和提交流程。这个过程旨在提高开发效率,...

    ANT编译打包

    ### ANT编译打包知识点 #### 一、概览 **ANT**是一款开源的Java构建工具,主要用于自动化构建过程,如编译、测试、部署等。它通过XML文件(通常是`build.xml`)来配置和控制整个构建过程。本文档旨在详细介绍如何...

    Ant1.8.2 编译打包工具

    - **打包**:Ant支持将编译后的类文件打包成JAR、WAR或EAR文件,方便部署。 - **部署**:可以将打包后的应用上传到远程服务器,或者在本地文件系统中移动。 - **清理**:清除编译过程中产生的临时文件和目标目录,...

    (总结完整版)Ant从SVNCVS下载编译打包部署到本地远程服务器(FTP上传).pdf

    在软件开发过程中,自动化构建工具如Ant在J2EE项目中扮演着重要角色,它能够帮助开发者完成从代码获取、编译、打包到部署的一系列任务。本文档总结了如何利用Ant与版本控制系统(如SVN、CVS)集成,实现代码的自动...

    Ant自动打包用的.

    通过Ant的XML配置文件(通常称为build.xml),开发者可以定义一系列的构建步骤,包括编译、测试、打包、部署等。当执行Ant命令时,这些步骤会按照预定顺序自动执行,大大提高了开发效率。 在实际使用中,一个典型的...

Global site tag (gtag.js) - Google Analytics