`
zengshaotao
  • 浏览: 792624 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ant打包到当前日期的目录下,处理src下的properties、xml文件

    博客分类:
  • ant
 
阅读更多

 

<!--打成ear包。ear下包括war,jar,APP-INF等-->

<!--这里的default要配置成所有target里最后执行的一个-->

<project name="ccbear" default="ear" basedir=".">

 

<tstamp>

<format property="today" pattern="yyyy-MM-dd"/>

</tstamp>

    <property name="app.dir" value="${basedir}" />

    <property name="src.dir" value="${app.dir}\src" />

    <property name="classes.dir" value="${app.dir}\build\classes" />

    <property name="webcontent.dir" value="${app.dir}\WebRoot" />

 

    <path id="build.classpath" description="编译时依赖的jar">

        <fileset dir="../ccbear/APP-INF/lib">

            <include name="*.jar" />

        </fileset>

        <pathelement location="${classes.dir}" />

    </path>

 

    <target name="prepare" description="创建classes文件夹">

        <mkdir dir="${classes.dir}" />

    </target>

 

    <target name="compile" depends="prepare" description="编绎">

        <javac srcdir="${src.dir}" destdir="${classes.dir}" fork="yes" debug="true" encoding="UTF-8" deprecation="on" optimize="off" includes="**" includeantruntime="false">

            <classpath refid="build.classpath" />

        </javac>

    <!--单独处理在src下的properties、xml文件-->

    <copy todir="${classes.dir}">

    <fileset dir="${src.dir}" >

    <!--**表示可能存在的多层级下的文件-->

    <include name="**/*.properties"/>

    <include name="**/*.xml"/>

    </fileset>

    </copy>

    </target>

    

    <target name="web-war" depends="compile" description="创建WEB发布包">

        <war destfile="${app.dir}/ccbweb.war" webxml="${webcontent.dir}/WEB-INF/web.xml">

        <!--将文件里的内容打成一个war包-->

            <fileset dir="${webcontent.dir}">

            <!--**表示所有的层级-->

                <include name="**/**.*"/>

            <exclude name="**/*.jar"/>

            <exclude name="**/*.class"/>

            </fileset>

        <!-- 将lib下的jar文件拷贝到war包的对应路径下 -->

            <lib dir="../ccbear/APP-INF/lib">

            <include name="*.jar"/>

            <exclude name="tap_ejb.jar"/>

            <exclude name="ncrtpif.jar"/>

            <exclude name="struts.jar"/>

            <exclude name="ncrauth_ejb.jar"/>

            <exclude name="ant.jar"/>

            <exclude name="commons-net-1.4.1.jar"/>

            </lib>

        <!-- 将class文件拷贝到war包的对应路径下。 -->

            <classes dir="${basedir}/build/classes" />

        </war>

    </target>

<!--这里使用了相对路径,工程名不要随意变更-->

    <target name="ear" depends="web-war" description="创建WEB发布包">

        <ear destfile="${app.dir}/ccbear.ear" appxml="../ccbear/META-INF/application.xml">

            <fileset dir="../ccbear">

                <include name="APP-INF/**"/>

            </fileset>

            <fileset dir="../ccbear/APP-INF/lib" >

                <include name="engineejb.jar"/>

            </fileset>

        <fileset dir="${app.dir}" >

                <include name="ccbweb.war"/>

            </fileset>

        </ear>

    <delete>

            <fileset dir="${app.dir}">

                <include name="ccbweb.war"/>

            </fileset>

        </delete>

    <delete dir="${classes.dir}" />

    <!--按照日期新建目录-->

    <mkdir dir="build/${today}" />

    <!--将生成的ear文件拷贝到刚刚新建的目录-->

    <copy todir="build/${today}">

    <fileset dir="${basedir}" >

    <include name="ccbear.ear"/>

    </fileset>

    </copy>

    <!--删除生成的ear文件-->

    <delete>

            <fileset dir="${basedir}">

                <include name="ccbear.ear"/>

            </fileset>

        </delete>

   

    </target>

 

</project>

 

 

 

 

《!--针对web工程,打成的war包--》

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

 

<!-- 定义一个工程,默认任务为warFile。 -->

<project name="DQC" default="warFile" basedir=".">

    

<tstamp>

<format property="today" pattern="yyyy-MM-dd"/>

</tstamp>

    <!-- 定义属性,打成war包的名称。 -->

    <property name="warFileName" value="DQC.war"></property>

<property name="build.class" value="${basedir}/build/classes"></property>

 

    <!-- 定义路径,编译java文件时用到的jar包。 -->

    <path id="project.lib">

        <fileset dir="${basedir}/WebRoot/WEB-INF/lib">

            <include name="**/*.jar"/>

        </fileset>

    </path>

    

    <!-- 定义清空任务:清空原有的class文件,创建新的build路径。 -->

    <target name="clean">

        <delete dir="${build.class}" />

        <mkdir dir="${build.class}" />

    </target>

    

    <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下,这里只会编译java文件,properties和xml文件要单独处理 -->

    <target name="compile" depends="clean">

    <javac fork="yes" debug="true" encoding="UTF-8" srcdir="${basedir}/src" destdir="${build.class}" includeantruntime="false">

    <classpath refid="project.lib">

            </classpath>

        </javac>

    <!--单独处理在src下的properties、xml文件-->

    <copy todir="${build.class}">

    <fileset dir="${basedir}/src" >

    <!--**表示可能存在的多层级下的文件-->

    <include name="**/*.properties"/>

    <include name="**/*.xml"/>

    </fileset>

    </copy>

    </target>

    

    <!-- 定义默认任务,将class文件集合成jar包。 -->

    <target name="warFile" depends="compile">

        <!-- 删除原有war包 -->

        <delete dir="${basedir}/${warFileName}" />

        <!-- 建立新war包 -->

        <war destfile="${basedir}/${warFileName}" webxml="${basedir}/WebRoot/WEB-INF/web.xml">

            <!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->

        <!-- 这里需要注意的是.properties文件-->

            <fileset dir="${basedir}/WebRoot">

                <include name="**/**.*" />

                <exclude name="**/*.jar"/>

                <exclude name="**/*.class"/>

            </fileset>

            <!-- 将jar和class文件拷贝到war包的对应路径下。 -->

            <lib dir="${basedir}/WebRoot/WEB-INF/lib" />

            <classes dir="${build.class}" />

        </war>

    <!--打成war包之后去掉新建的build目录-->

    <delete dir="${build.class}" />

    <mkdir dir="build/${today}" />

    <copy todir="build/${today}">

    <fileset dir="${basedir}" >

    <include name="${warFileName}"/>

    </fileset>

    </copy>

    <delete>

            <fileset dir="${basedir}">

                <include name="${warFileName}"/>

            </fileset>

        </delete>

    </target>

    

 

</project>

分享到:
评论

相关推荐

    使用Ant打包 来调用properties 文件

    在这个例子中,Ant会尝试找到与build.xml同级目录下的`config.properties`文件,并加载其中的属性。这些属性可以在整个构建过程中被其他任务引用。 在properties文件中,键值对的格式通常是`key=value`,例如: ``...

    ant打包Web工程

    本篇将重点讲解如何使用Ant打包Web工程,以及涉及到的相关知识点。 首先,我们要理解Ant的核心概念。Ant是一个基于XML的构建工具,它的主要任务定义在名为`build.xml`的文件中。这个文件包含了构建过程的所有步骤,...

    ant的build.xml模板

    `build.xml`是Ant的构建配置文件,它是Ant执行任务的蓝图,定义了一系列的构建目标和任务。文件的结构通常包括项目声明、任务定义、属性设置、目标定义以及依赖关系等部分。下面我们将逐一剖析这些关键元素。 1. **...

    SSH2集成+ant打包

    最后,使用`scp`任务将打包好的文件上传到远程服务器: ```xml ``` 在这个过程中,你可能还需要处理一些细节,比如使用私钥文件进行身份验证,或者在部署前检查远程服务器的状态。此外,你还可以使用Ant的条件...

    SVN+ant 服务器代码打包编译流程详解,内含详细安装以及操作说明

    在这个SVN+ant服务器代码打包编译流程中,我们将深入探讨这两个工具的集成使用,以及如何通过build.xml和build.properties文件实现自动化编译。 首先,让我们了解SVN的安装和配置。在Windows上,你可以下载...

    Ant打包实例

    5. **部署**:打包完成后,可以执行部署操作,例如将JAR文件复制到服务器或特定的发布目录。 ```xml ${jar.dir}/${ant.project.name}.jar" todir="dist"/&gt; ``` 在实际应用中,Ant还可以与其他工具(如Maven、...

    ant的配置文件build.xml

    2. **属性(Properties)**:Ant允许在文件中定义属性,这些属性可以在整个构建过程中被引用。例如,设置源代码目录和目标目录: ```xml &lt;property name="src.dir" value="src"/&gt; ``` 3. **任务(Tasks)**:...

    ANT-build.xml命令详解

    - **引入(Import)**:将其他`build.xml`文件引入当前文件,便于组织大型项目。 Ant的强大之处在于其灵活性和扩展性。通过熟练掌握`build.xml`文件的编写,你可以根据项目需求定制各种复杂的构建流程。同时,Ant与...

    ant build.xml 详解

    它的核心在于一个名为`build.xml`的配置文件,它定义了项目的构建过程,包括编译、测试、打包和部署等各个阶段。在本文中,我们将深入探讨`build.xml`的结构、元素以及如何使用它来管理Java项目。 1. **Ant基本概念...

    ant 打包 java project 为ant

    标题 "ant 打包 java project 为jar" 指的是使用Apache Ant工具将Java项目打包成一个可执行的JAR文件的过程。Apache Ant是一个基于XML的构建工具,广泛用于自动化Java项目的构建、编译、测试和打包任务。在Java开发...

    Ant 配置文件详解

    这段代码会将`build.dir`目录下的所有`.class`文件复制到`dist.dir`。 七、条件语句与选择器 Ant 提供了条件语句,如`if`和`unless`,以及选择器(Selectors)来控制任务的执行。例如,只有当某个文件存在时才执行...

    ant 配置文件集合

    - `build.xml`:这是Ant的主要配置文件,其中包含了一系列的构建目标(targets)和任务(tasks)。 - `&lt;project&gt;`:根元素,定义项目的基本信息,如名称、版本和默认目标。 - `&lt;target&gt;`:定义了一个可执行的任务...

    使用Ant构建批量压缩js、css文件脚本

    5. **执行Ant脚本**:在命令行中运行`ant compressJs`,Ant会自动找到对应的构建脚本并执行`compressJs`目标,将源目录下的js文件压缩并保存到目标目录。 除了YUI Compressor,还有其他压缩工具,如Google的Closure...

    ant 1.9.4 打包

    在实际项目中,build.xml文件可能会变得更加复杂,包括对依赖库的管理、资源文件的处理、多模块项目的构建等。 在提供的“ant-1.9.4 配置文档”中,你将找到更详细的Ant使用指南,包括各种任务的用法、属性的设置...

    ant的build配置文件

    `compile`目标首先创建`build`目录,然后编译`src`目录下的源代码到`build`目录。`jar`目标依赖于`compile`,意味着在创建JAR之前必须先完成编译。`clean`目标用于删除`build`目录,以便于重新构建。 通过这种方式...

    ant打包及整合质量控制插件

    Ant是基于XML的,它的主要配置文件是`build.xml`,其中包含了构建过程的所有任务和规则。`build.properties`文件则用于存储项目相关的属性,如版本号、路径设置等,它允许我们在构建过程中动态地引用这些属性。`ci_...

    用ant编译J2ME代码的build.xml模板

    在Java世界里,Ant是一个非常重要的自动化构建工具,它基于XML来定义任务,可以执行编译、测试、打包等操作。对于J2ME(Java 2 Micro Edition)开发,Ant同样适用,帮助开发者自动化处理代码的编译过程。本文将详细...

    ant打ear包的详细步骤

    在 Ant build 文件中,我们将公用的 JAR 包都放到 EAR 文件下,而不是分别在 EJB JAR 包和 WAR 包中,以减少 JAR 包的冗余。 通过上面的步骤,我们可以使用 Ant 工具将 EJB 项目打包成 EAR 文件,並 deploy 到 ...

Global site tag (gtag.js) - Google Analytics