一个简单的ant应用
<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"? >
<project name="hd_services" default="war" basedir="."> <property name="tomcat.home" value="E:\r\apache-tomcat-7" />
<property name="hd.src" value="src" />
<property name="hd.classes" value="build/classes" />
<property name="hd.build" value="build" />
<property name="hd.lib" value="WebContent/WEB-INF/lib" /> <target name="clean">
<delete dir="${hd.build}" />
</target> <path id="lib.path">
<fileset dir="${hd.lib}">
<include name="**/*.jar" />
</fileset>
</path> <target name="compile" depends="clean">
<mkdir dir="${hd.classes}" />
<javac srcdir="src" destdir="${hd.classes}" includeantruntime="no" classpathref="lib.path">
<exclude name="tests/**/*.java" />
<!--<include name="**/*.java" />-->
</javac>
<copy todir="${hd.classes}">
<fileset dir="src">
<include name="config/**/*.properties" />
<include name="config/**/*.xml" />
</fileset>
</copy>
</target> <target name="war" depends="compile">
<war destfile="${hd.build}/hd_services.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent" includes="**/*.jsp" />
<lib dir="${hd.lib}" />
<classes dir="${hd.classes}" />
</war>
</target> <target name="deploy" depends="war">
<copy todir="${tomcat.home}/webapps">
<fileset dir="${hd.build}">
<filename name="*.war"/>
</fileset>
</copy>
</target>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定义一些变量,就好比在java中定义一些变量,以备以下使用 --> <!-- 所在项目的位置,。代表项目下,。 。 项目的子包下 -->
<project name="helloworld" basedir=".">
<!-- 定义一个属性变量 用作指定项目的原文件所在的文件夹 "${basedir} =basedir="."-->
<property name="src.dir" value="${basedir}\src"/>
<!-- 环境变量 -->
<property environment="env"/>
<property name="jboss.home" value="${env.JBOSS_HOME}"/>
<property name="jboss.server.config" value="default"/>
<!-- 编译 class 存放的文件夹 -->
<property name="build.dir" value="${basedir}\build"/> <!-- 引入的jar包 -->
<path id="build.classpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar"/>
</fileset>
<!-- 把自已的 jar文件也引入 -->
<pathelement location="${build.dir}"/>
</path> <!-- 创建一个文件夹 -->
<target name="prepare">
<delete dir="${build.dir}"/>
<mkdir dir="${build.dir}"/>
</target> <!-- 编译 -->
<target name="compile" depends="prepare" description="编译">
<javac srcdir="${src.dir}" destdir="${build.dir}" includeantruntime="on">
<classpath refid="build.classpath"/>
</javac>
</target> <target name="ejbjar" depends="compile" description="创建ejb公布包">
<jar jarfile="${basedir}\${ant.project.name}.jar">
<fileset dir="${build.dir}">
<include name="**/*.class"/>
</fileset>
</jar>
</target> <!-- 依懒于ejbjar 把编译好的class复制到jboss公布文件夹下-->
<target name="deploy" depends="ejbjar" description="公布ejb">
<copy file="${basedir}\${ant.project.name}.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy"/>
</target> <target name="undeploy" description="御载ejb">
<delete file="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar"/>
</target> </project>
构建文件定义了构建过程。并被团队开发 中每一个人使用。
Ant构建文件默认名为build.xml,也能够取其它的名字。
仅仅只是在执行的时候 把这个命名当作參数传给Ant。构建文件能够放在不论什么的位置。
一般做法是放在项目顶层文件夹中。
这样能够保持项目的简洁和清晰。以下是一个典型的项目层次结构。
每一个目标中能够定义多个任务。目标中还定义了所要运行的任务序列。Ant在构建目标时必须调 用所定义的任务。任务定义了Ant实际运行的命令。Ant中的任务能够为3类。
核心任务是Ant自带的任务。
可选任务是来自第三方的任务,因此须要一个附加的JAR文件。
4标签编辑
一个target标签能够依赖其它的target标签。
例 如,有一个target用于编译程序,还有一个target用于生成可运行文件。在生成可运行文件之前必须先编译该文件,因此可运行文件的target依赖于编译程序的target。Target的全部属性例如以下。
假设没有if或unless属性target总
会被运行。
5数据类型编辑
<patternset>支持4个属性:includesexcludex includexfile 和excludesfile,与fileset相 同。
Patternset 还同意下面嵌套元素:include,exclude,includefile 和excludesfile.
一个简单的ant应用的更多相关文章
- 【ANT】一个简单的ANT生成文件build.xml
<?xml version="1.0" ?> <project default="test"> <target name=&quo ...
- Ant—使用Ant构建一个简单的Java工程(两)
博客<Ant-使用Ant构建一个简单的Java项目(一)>演示了使用Ant工具构建简单的Java项目,接着这个样例来进一步学习Ant: 上面样例须要运行多条ant命令才干运行Test类中的 ...
- 使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换
使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换 需求: 日历区分交易日.非交易日 可以切换面板查看整年交易日信息 可以在手动调整交易日.非交易日 演示实例 序--使用软 ...
- 一个简单的Android小实例
原文:一个简单的Android小实例 一.配置环境 1.下载intellij idea15 2.安装Android SDK,通过Android SDK管理器安装或卸载Android平台 3.安装J ...
- 【Android Developers Training】 3. 构建一个简单UI
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Java学习笔记】如何写一个简单的Web Service
本Guide利用Eclipse以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程: 1.系统条件: Eclipse Java EE IDE for Web De ...
- 窥探原理:实现一个简单的前端代码打包器 Roid
roid roid 是一个极其简单的打包软件,使用 node.js 开发而成,看完本文,你可以实现一个非常简单的,但是又有实际用途的前端代码打包工具. 如果不想看教程,直接看代码的(全部注释):点击地 ...
- Android官方教程翻译(3)——创建一个简单的用户界面
转载请注明出处:http://blog.csdn.net/dawanganban/article/details/9839523 Building a Simple User Interface 创建 ...
- 哪种缓存效果高?开源一个简单的缓存组件j2cache
背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...
随机推荐
- 麦森数--NOIP2003
题目描述 形如2P−12^{P}-12P−1 的素数称为麦森数,这时PPP 一定也是个素数.但反过来不一定,即如果PPP 是个素数,2P−12^{P}-12P−1 不一定也是素数.到1998年底,人们 ...
- 实现泛型IEnumerable接口
用C#实现一个类的IEnumerable接口时有两种方法:1)实现非泛型IEnumerable接口:2)实现泛型IEnumerable(T)接口.如果采用方法1,当集合元素T是值类型时,将涉及到巨多的 ...
- c programs
- JDK5.0新特性(静态导入、自动装箱/拆箱、增强for循环、可变参数、枚举、泛形)
JDK5中新增了很多新的java特性,利用这些新语法可以帮助开发人员编写出更加高效.清晰,安全的代码. 这些新特性主要有:1.静态导入2.自动装箱/拆箱3.增强for循环4.可变参数5.枚举6.泛型7 ...
- PCB MS CLR 聚合函数 joinString加排序实现
准备着手,动态列SQL查询,要实现动态列SQL,会运用到聚合函数,而SQL本身聚合函数有限, 无满足此用户任意字段组合变化,再加上工艺流程重复相同工序,如;沉铜1,沉铜2对应工序代码都是相同的 而通常 ...
- HTML中常用的颜色词汇
white (白色). black(黑色) . blue(蓝色) . green(绿色) .red(红色) .yellow(黄色) . pink(粉色).gray(灰色).brown(棕色). gre ...
- java.util.concurrent常用类(CountDownLatch,Semaphore,CyclicBarrier,Future)
CyclicBarrier CyclicBarrier是用来一个关卡来阻挡住所有线程,等所有线程全部执行到关卡处时,再统一执行下一步操作.假设一个场景:每个线程代表一个跑步运动员,当运动员都准备好后, ...
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) C. Destroying Array -- 逆向思维
原题中需要求解的是按照它给定的操作次序,即每次删掉一个数字求删掉后每个区间段的和的最大值是多少. 正面求解需要维护新形成的区间段,以及每段和,需要一些数据结构比如 map 和 set. map< ...
- Hadoop Hive概念学习系列之Hive里的2维坐标系统(第一步定位行键 -> 第二步定位字段)(二十三)
HBase里的4维坐标系统(第一步定位行键 -> 第二步定位列簇 -> 第三步定位列修饰符 -> 第四步定位时间戳) HBase里的4维坐标系统(第一步定位行键 ...
- 同域之下子iframe的DOM控制问题
new_file.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...