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 是 Apache 软件基金会的一个开源项目,它是一个基于Java的构建工具,类似于Make,但更为现代且专为Java设计。Ant使用XML来描述构建过程,包括编译、测试、打包和部署等任务,使得开发者...
ant 编译、打包、部署项目的build文件
在"Ant打包编译部署工具学习笔记2"中,我们可以预期博主分享了关于如何利用Ant进行更复杂的构建操作,例如集成测试、优化和打包。这可能包括如何配置build.xml文件,添加自定义任务,以及如何处理依赖关系。由于没有...
3. **打包JAR/WAR**:Ant能够将编译后的类文件和其他资源打包成JAR或WAR文件,这对于创建可分发的Java应用或Web应用至关重要。 4. **运行测试**:Ant支持JUnit和其他测试框架,可以自动化执行单元测试和集成测试,...
标题 "ant编译java工程" 涉及到的是使用Apache Ant工具来构建Java应用程序的过程。Apache Ant是一个基于XML的构建工具,它允许开发者通过声明式的方式定义项目构建任务,而不是采用程序化的方式。在Java开发中,Ant...
"ant案例"涵盖了各种实际场景的应用,比如如何配置Ant来编译Java项目、打包JAR文件、生成WAR文件以部署到Web服务器,甚至如何执行单元测试、代码覆盖率分析等。通过实际操作案例,可以更直观地学习Ant的工作原理和...
本文将详细讲解Ant脚本在打包部署中的要点,以及如何通过修改`common.properties`文件来设置代码分支。 首先,让我们了解Ant的基本结构。一个Ant项目通常包含一个名为`build.xml`的主配置文件,这个文件定义了构建...
这些任务可以包括编译源代码、运行测试、打包和部署等。 在Android开发中,Ant可以用来编译、签名和打包APK。当你要为不同的渠道(如不同的应用商店)打包应用时,通常需要修改build.xml文件,添加相应的渠道参数。...
一个普通java程序用ant打包的列子,完整的,里面采用的是eclipse自带的编译插件进行的打包,需要结合eclipse中的插件一起使用
【标题】:“Ant 从SVNCVS下载 编译打包部署到本地远程服务器 (FTP上传)” 【描述】:这篇博客详细介绍了如何使用Apache Ant工具从版本控制系统(如SVN或CVS)下载源码,然后进行编译、打包,并最终通过FTP上传到...
在“ant编译1.9版本”中,我们关注的是Apache Ant 1.9.6这个特定版本的使用方法和特性。 Apache Ant 1.9.6发布于2015年,作为Ant 1.9系列的一个稳定版本,它提供了一系列改进和修复,以提高构建效率和稳定性。这个...
总的来说,使用Ant编译Java项目并创建jar包,你需要编写一个包含`<javac>`和`<jar>`任务的构建文件,同时可以利用Ivy管理依赖,Emma生成测试覆盖率报告,以及Ant Contrib中的额外任务来增强Ant的功能。通过这种方式...
本文档提供了一种全面的方法,让开发者可以使用Ant自动化处理从版本控制获取代码、编译、打包、部署到远程服务器的整个流程。这对于大型J2EE项目的持续集成和持续部署(CI/CD)尤其有用,提高了开发效率并减少了手动...
在Java开发过程中,打包和部署是必不可少的环节,而`Ant`作为一个强大的构建工具,能够帮助我们自动化这些任务。本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际...
标题中的“antsvn更新打包部署提交自动化”涉及的是在软件开发过程中如何利用Ant(一个Java构建工具)和Subversion(SVN,版本控制系统)实现自动化的构建、更新、打包、部署和提交流程。这个过程旨在提高开发效率,...
### ANT编译打包知识点 #### 一、概览 **ANT**是一款开源的Java构建工具,主要用于自动化构建过程,如编译、测试、部署等。它通过XML文件(通常是`build.xml`)来配置和控制整个构建过程。本文档旨在详细介绍如何...
- **打包**:Ant支持将编译后的类文件打包成JAR、WAR或EAR文件,方便部署。 - **部署**:可以将打包后的应用上传到远程服务器,或者在本地文件系统中移动。 - **清理**:清除编译过程中产生的临时文件和目标目录,...
在软件开发过程中,自动化构建工具如Ant在J2EE项目中扮演着重要角色,它能够帮助开发者完成从代码获取、编译、打包到部署的一系列任务。本文档总结了如何利用Ant与版本控制系统(如SVN、CVS)集成,实现代码的自动...
通过Ant的XML配置文件(通常称为build.xml),开发者可以定义一系列的构建步骤,包括编译、测试、打包、部署等。当执行Ant命令时,这些步骤会按照预定顺序自动执行,大大提高了开发效率。 在实际使用中,一个典型的...