一个简单的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托管内存)来做缓存,这样对于单个应用服务 ...
随机推荐
- PCB MVC启动顺序与各层之间数据传递对象关系
准备着手基于MVC模式写一套Web端流程指示查看,先着手开发WebAPI打通数据接口,后续可扩展手机端 这里将MVC基本关系整理如下: 一.MVC启动顺序 二.MVC各层之间数据传递对象关系
- thinkphp 日志记录
日志记录\ThinkPHP\Lib\Think\Core\Log.class.php 1.可以在config.php中进行设置,默认为关闭状态. 'APP_DEBUG' => true 打开\T ...
- mybatis+oracle实现一对多,多对一查询
首先创建表 学生表 create table stu( id number(11) primary key, name varchar2(255), age num ...
- ROS-URDF-Gazebo
前言:在gazebo里运行urdf文件 一.安装教程包 cd ~/catkin_test/srcgit clone https://github.com/ros/urdf_sim_tutorial.g ...
- retrofit post请求多文件,partMap用法
1. APIService 定义注解 @Multipart @POST("cyxx/Feedback/add.do") Observable<ResponseBody> ...
- Leetcode0100--Same Tree 相同树
[转载请注明]http://www.cnblogs.com/igoslly/p/8707664.html 来看一下题目: Given two binary trees, write a functio ...
- 安装Windows服务,一直提示系统正在关机的错误。
错误截图如下: 问题概况: 在本机安装没问题,程序没问题. 安装到公司的测试环境就报错了!以管理员身份运行也不行. 解决方案: 1.最后发现是360安全防护中心拦截了.具体解决过程如下: 2.进入36 ...
- WEB笔记-2 剖析CSS规则
2.1 剖析CSS规则 规则即指令,其声明了需要修改的元素及要应用给元素的样式. 2.2 为文档添加样式的三种方法 行内样式:直接写在HTML文档标签中的style属性当中,行内元素只 ...
- JavaScript函数和window对象
一.什么是函数 函数的含义:类似于Java中的方法,是完成特定任务的代码语句块 使用更简单:不用定义属于某个类,直接使用 二.常用系统函数 parseInt ("字符串") ...
- C# MVC 延时
[System.Runtime.InteropServices.DllImport("kernel32.dll")] static extern uint GetTickCount ...