一个简单的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托管内存)来做缓存,这样对于单个应用服务 ...
随机推荐
- openStack 主机流量计运行状态 随笔记录
root@ruiy-controller:~# ifconfigeth0 Link encap:Ethernet HWaddr 0c:c4:7a:0d:97:2c ine ...
- iOS手势识别
一.手势识别与触摸事件 1.如果想监听一个view上面的触摸事件,可选的做法是: (1)自定义一个view (2)实现view的touches方法,在方法内部实现具体处理代码 2.通过touches方 ...
- JavaScript学习二
2019-05-30 15:08:24 加油,这几天在赶高数,都…… <!DOCTYPE html> <html> <head> <script type=& ...
- RecastNavigation(3D场景建模、网格导航)
一.RecastNavigation详解 RecastNavigation定义: RecastNavigation是一个导航寻路工具集,使用邻接的凸多边形集合描述一个3D场景,A*寻路算法使3D场景的 ...
- yaml标记语言的简介
今天遇到yml这个文件,挺懵的.也是百度了一把. 这篇博文不错:http://www.ibm.com/developerworks/cn/xml/x-1103linrr/ 这图画得不错:http:// ...
- AFN请求后台返回数据为NSInlineData类型的处理
在利用AFN进行数据解析时出现返回数据为 <7b227374 61747573 223a302c 226d6573 73616765 223a22e6 82a8e79a 84e6898b e69 ...
- python--4、装饰器
装饰器(Decorator) 使用场景:为被装饰器装饰的函数增加功能,但又不希望修改函数的定义,即在代码运行期间动态增加功能. 装饰器更多的用于后期功能升级而不是编写新的代码.装饰器不光能装饰函数,也 ...
- 启动Mysql时,提示error 2002 的解决办法
故障描述 启动时提示ERROR 2002(HY000) 启动服务时,提示the server quit without updating PID file. 解决方法一: 1.由于mysql是卸载后重 ...
- JWPL工具处理维基百科wikipedia数据用于NLP
JWPL处理维基百科数据用于NLP 处理zhwiki JWPL是一个Wikipedia处理工具,主要功能是将Wikipedia dump的文件经过处理.优化导入mysql数据库,用于NLP过程.以下以 ...
- java如何设置文件的权限
import java.io.File; 2.import java.io.IOException; 3./× 4.×只能给当前用户赋予对该文件的权限,调用createNewFile()方法默认的权限 ...