一个简单的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托管内存)来做缓存,这样对于单个应用服务 ...
随机推荐
- 【POJ 1456】 Supermarket
[题目链接] http://poj.org/problem?id=1456 [算法] 贪心 + 堆 [代码] #include <algorithm> #include <bitse ...
- 动态规划---区间dp
今天写内网题,连着写了两道区间dp,这里就总结一下. 区间dp思想主要是先枚举f[i][j]中的i,再枚举j,再枚举一个1~j之间的变量k,一般是f[i][j] = max(f[i][j],f[i][ ...
- autofac的小知识点
autofac 注入中i遇到的泛型传参问题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...
- C/C++中的绝对值函数
--------开始-------- 对于不同类型的数据对应的绝对值函数也不相同,在c和c++中分别在头文件math.h 和 cmath 中. int : x = abs( n ) double : ...
- layui日期输入框
<div class="layui-form-item"> <label class="layui-form-label& ...
- spark作业运行过程之--DAGScheduler
DAGScheduler--stage划分和创建以及stage的提交 本篇,我会从一次spark作业的运行为切入点,将spark运行过程中涉及到的各个步骤,包括DAG图的划分,任务集的创建,资源分配, ...
- thinkphp 上传多张图片
tp3.23 没有找到同时上传多张图片 手册有讲过:http://www.kancloud.cn/manual/thinkphp/1876 其实可以通过,多张图片多次上传来到达效果 hmlt: < ...
- windows系统下nodejs安装、环境配置及删除NPM全局配置
nodejs安装及设置NPM全局路径 删除NPM全局路径配置 一.nodejs安装及设置NPM全局路径 第一步:下载安装文件 下载nodejs,官网:http://nodejs.org/downloa ...
- jdbc 接口学习笔记
一.JDBC概念 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它由一组用Jav ...
- F - Modular Exponentiation
Problem description The following problem is well-known: given integers n and m, calculate 2n mod m, ...