`
chorpin
  • 浏览: 132192 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ANT构建项目(转)——

阅读更多
Ant编译打包项目
Blog项目对应的文件目录树如下:

blog:.
├─demo                 —— demo 目录
├─sql                      —— sql脚本目录
├─src                      —— Java源文件目录
├─test                     —— 测试文件目录
└─web                    —— web存放目录
    ├─admin
    ├─common
    ├─includes
    ├─scripts
    ├─system
    ├─themes
    ├─UserFiles
    └─WEB-INF       —— j2ee规范目录
        ├─classes     —— 编译路径
        ├─config
        └─lib               —— 类库目录




Ant对应的配置:


<?xml version="1.0"?>

<project name="ntsky_blog" default="war" basedir=".">



    <!-- set global properties for this build -->



    <property name="product" value="ntsky_blog" />

    <property name="version" value="1.0" />

    <property name="year" value="2007" />

    <property name="author" value="ntsky" />

    <echo message="----------- ${product} ${version} [${year}] [${author}] ------------" />



    <property name="name" value="ntsky_blog" />

    <property name="app.dir" value="." />

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



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

    <property name="lib.dir" value="${web.dir}/WEB-INF/lib" />

    <property name="jar.name" value="ntsky_blog.jar" />

    <property name="tomcat.home" value="/usr/local/tomcat" />

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

    <property name="build.dir" value="${web.dir}/WEB-INF/classes" />



    <echo message="" />

    <echo message="ntsky_blog build file" />

    <echo message="------------------------------------------------------" />

    <echo message="" />

    <echo message="Available targets are:" />

    <echo message="" />

    <echo message="clean    --> Clean output dirs" />

    <echo message="build    --> Compile main Java sources and copy libraries" />

    <echo message="war       --> Build the web application archive" />

    <echo message="all      --> Clean, build, docs, warfile, tests" />

    <echo message="" />



    <!-- JAVA CLASSPATH -->

    <path id="classpath">

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

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

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

       </fileset>

    </path>



    <path id="jsp:classpath">

       <!-- Tomcat 5.0 -->

       <fileset dir="${tomcat.home}/server/lib">

           <include name="*.jar" />

       </fileset>

       <fileset dir="${tomcat.home}/common/lib">

           <include name="*.jar" />

       </fileset>

       <fileset dir="${tomcat.home}/common/bin">

           <include name="*.jar" />

       </fileset>

       <!--

       Tomcat 6.0

       <fileset dir="${tomcat.home}/lib">

           <include name="*.jar" />

       </fileset>

       <fileset dir="${tomcat.home}/bin">

           <include name="*.jar" />

       </fileset>

       -->

    </path>



    <target name="clean" description="Clean all build products">

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

       <delete file="${war.dir}/${name}.war" />

    </target>



    <target name="compile" depends="clean" description="Compile application">

       <echo>Compiled the source.</echo>

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

       <javac srcdir="${src.dir}" destdir="${build.dir}" debug="on" encoding="UTF-8">

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

           <classpath refid="classpath" />

       </javac>

    </target>



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

       <jar destfile="${lib.dir}/ntsky_blog.jar" basedir="${build.dir}" includes="**/*.class" >

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

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

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

              <exclude name="*.properties" />

              <exclude name="*.xml" />

           </fileset>       

       </jar>

    </target>



    <target name="war" depends="compile" description="Build the web application archive">



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



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

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

              <include name="*.properties" />

              <include name="*.xml" />

           </fileset>

       </copy>



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

       <war warfile="${war.dir}/${name}.war" webxml="${web.dir}/WEB-INF/web.xml">

           <fileset dir="${web.dir}" />

       </war>



    </target>



    <target name="compile-jsp">

      

       <taskdef classname="org.apache.jasper.JspC" name="jasper">

           <classpath refid="jsp:classpath" />

       </taskdef>

      

       <mkdir dir="${app.dir}/jspSrc" />

       <mkdir dir="${app.dir}/${product}" />

       <jasper verbose="0" package="ntsky_blog" outputDir="${app.dir}/jspSrc" uriroot="${app.dir}/WebRoot"/>



       <javac srcdir="${app.dir}/jspSrc/ntsky_blog" destdir="${app.dir}" debug="on" encoding="UTF-8">

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

           <exclude name="inc/*.java"/>

           <classpath refid="classpath" />

           <classpath refid="jsp:classpath" />

       </javac>



    </target>



    <target name="deploy" depends="jar" description="Build the web application archive">



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



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

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

              <include name="*.properties" />

              <include name="*.xml" />

              <include name="*.server" />

           </fileset>

       </copy>



    </target>

</project>


说明 :

运行ant -f build.xml war或ant 将生成ntsky_blog.war包,将包丢到tomcat webapps下tomcat就会解包。
ant -f  build.xml deploy将执行deploy这个target,将得到blog项目目录,将目录拷贝到tomcat/webapps下也可以运行
发布war包或目录时候都会生成ntsky_blog.jar,jar中包含ibatis对应的xml配置文件,而sturts这类配置文件还是在WEB-INF的classes下。
如果需要可以配置编译jsp的tag(编译jsp省去了tomcat自己编译jsp的步骤,当第一次访问jsp的时候,tomcat自己去编译而感觉速度很慢)
0
6
分享到:
评论

相关推荐

    Java项目构建新型利器——Gradle

    随着现代软件开发的复杂性不断增加,构建自动化成为了一种必要,Java项目构建的新型利器——Gradle应运而生。Gradle是基于Java的下一代构建工具,它的出现改变了构建工具的格局,提供了更强的表现力和更好的可维护性...

    前端项目笔记——网易云音乐、通用后台管理

    总结,构建“前端项目笔记——网易云音乐、通用后台管理”涉及到Vue.js框架的应用、前端路由管理、API接口交互、UI组件使用、音乐播放功能的实现以及响应式布局等多个知识点。通过实践这些项目,开发者不仅能巩固...

    ant配置文件

    标题“ant配置文件”指的是Ant项目中的核心文件——build.xml。这个文件是Ant构建过程的蓝图,包含了所有构建任务和它们的依赖关系。它定义了如何编译源代码、打包应用、执行测试以及部署项目。在myEclipse这样的...

    Ant 整合Jenkins自动构建

    8. **配置Ant构建文件路径**:在Jenkins中指定Ant的build.xml文件位置,让Jenkins知道如何运行构建任务。 9. **保存并构建**:保存项目配置,然后手动触发一次构建,确保配置正确无误。 通过这种整合,开发团队...

    Ant.自动构建工具

    基本的Ant构建文件(build.xml)通常包含以下几个部分: 1. **项目声明(Project)**:定义Ant项目的基本属性,如项目名称、版本等。 2. **属性(Property)**:用于存储可配置的值,可以在整个构建过程中引用。 3....

    ant编译依赖包

    Emma可以集成到Ant构建中,为Java代码提供覆盖率报告,帮助开发者评估测试的全面性。`ant-contrib.jar`则包含了一些额外的Ant任务,扩展了Ant的功能。 总的来说,使用Ant编译Java项目并创建jar包,你需要编写一个...

    生成ANT所需要的Build,xml文件

    了解ANT的基本概念、XML配置语法以及如何利用类似gen1.py的工具,对于Java开发者进行高效的项目管理和自动化构建至关重要。同时,这也体现了编程语言之间的互操作性,即Python与Java的结合,进一步展示了软件开发中...

    Ant参考教程 ant

    5. **体验Ant构建** 以经典的“HelloWorld”为例,演示如何使用Ant进行项目构建: - 创建Java源文件`HelloWorld.java`。 - 编写`build.xml`文件,定义构建过程,包括初始化、编译、打包和运行目标。 - `init`...

    Ant权威指南(介绍ant的好书)

    《Ant权威指南》是一本深度解析Apache Ant工具的专业书籍,对于深入理解和熟练运用Ant构建Java项目具有极高的价值。Ant是Java社区广泛采用的自动化构建工具,它以其灵活性、可扩展性和强大的任务定义能力,成为了...

    apache ant使用例子

    MyEclipse是Eclipse IDE的一个扩展,特别适合于Java EE项目的开发,它内置了对Ant的支持,使得我们可以方便地在IDE内管理Ant构建脚本。 首先,我们需要理解Ant的构建文件——`build.xml`。这个文件是Ant的核心,它...

    apache-ant-1.9.16-bin.zip

    标签"apache"、"apache-ant"、"ant"分别代表了Apache软件基金会、Apache Ant项目以及Ant本身,这些标签有助于搜索和分类,表明了该文件与Apache组织的Ant构建工具紧密相关。 在解压"apache-ant-1.9.16-bin.zip"后,...

    ANT學習筆記(一)——ANT 結合JUNIT4學習DEMO

    - `build.xml`: ANT构建文件 这个DEMO展示了如何编写简单的Java类,使用JUnit4编写测试用例,然后使用ANT运行这些测试并生成报告。你可以通过阅读和修改这个DEMO,加深对ANT和JUnit4的理解。 总结来说,ANT和JUnit...

    ant_1.2.6 ant_1.2.6.zip

    Ant是Apache软件基金会的一个开放源代码项目,是一个Java构建工具,它使得构建、部署和管理Java项目变得更加简单。Ant以其XML格式的构建文件而闻名,这些文件定义了构建过程中的任务序列,允许开发者以声明性的方式...

    ant.rar java的架包ant

    《Ant——Java开发中的构建工具》 Ant是Java开发领域中的一款强大且广泛应用的构建工具,它由Apache软件基金会开发并维护。Ant以其XML为基础的构建文件(build.xml)著称,该文件定义了项目的构建过程,包括编译、...

    Ant应用开发指南(学习ant的必备资料)

    《Ant应用开发指南》是IT领域中针对Ant构建工具的一份详尽的教程与资源,旨在帮助开发者深入了解并掌握Ant的使用方法与实践技巧。Ant,最初作为一个缩写代表“Another Neat Tool”,是一个功能强大的构建工具,尤其...

    ant

    2. **XML配置文件**:Ant的构建文件通常命名为`build.xml`,其中包含了项目构建的详细步骤。XML格式让配置文件具有良好的可读性和结构化,便于维护。 3. **依赖关系**:Ant支持目标之间的依赖关系,可以定义先执行...

    antbuild-apk

    标题“antbuild-apk”指的是使用Ant构建工具来创建Android应用(APK)的过程。Ant是Apache软件基金会的一个开源项目,它是一个基于Java的构建工具,可以用来自动化编译、打包、测试等软件构建任务。在Android开发中...

    ant的基本配置说明

    在提供的文件内容中,作者通过一个简单的示例——“HelloAnt”程序,展示了如何创建Ant构建文件并完成编译和运行。首先,创建`HelloAnt.java`源代码文件,然后编写`build.xml`文件,定义编译和运行Java类的目标。在`...

    用ANT构造Application

    ### 使用ANT构建Application #### ANT简介 ANT是Apache提供的一款专为Java开发者设计的强大构建工具。作为一款开源软件,ANT支持跨平台操作,在Windows和Unix操作系统上均可运行。相较于传统的shell脚本构建工具...

    ant-launcher-1.7.jar.zip

    而"ant-launcher-1.7.jar.zip"文件则是Apache Ant的一个关键组件——Ant Launcher的1.7版本的归档文件,它主要用于启动Ant构建过程。本文将深入探讨Ant Launcher的功能、作用以及如何在项目中正确使用。 首先,Ant ...

Global site tag (gtag.js) - Google Analytics