Ant学习总结2
<project default= "compile" basedir= "." name= "testant" >
<description>
一段描述信息,没有实际作用。
</description>
<property name= "src" value= "src" />
<property name= "dest" value= "build" />
<property name= "dist" value= "dist" />
<property name= "lib.dir" value= "lib" />
<property name= "testant_jar" value= "testant.jar" />
<property name= "product.jar.name" value= "${project.name}.jar" />
<property name= "product.war.name" value= "${project.name}.war" />
<!--property 元素相当于变量,存放一定的值,一旦给定以后不能改变,只能通过控制台命令行给初始值。一般用 value
给其赋值,可以用 location 代替 value 是因为 location
属性专门设计用于以平台无关的方式包含文件系统路径,也就是当前路径。-->
<!--一个target 元素就是一个任务,一个步骤,如果命令行没有指定开始任务,则由 project 元素的 default 属性决定要执行的任务-->
<!--mkdir 元素用来创建目录 dir 属性用来指定目录路径-->
<target name= "init" description= "在元素中指定描述信息" >
<echo message= "这里的信息将被输出到控制台!" />
<mkdir dir= "${dest}"/>
<mkdir dir= "${dist}"/>
<mkdir dir= "${dest}/src" />
<mkdir dir= "${dest}/webdocs" />
</target>
<!--delete 元素用来删除目录 $ 引用 property 元素指定的 name为dest、dist的属性变量-->
<target name= "clean" >
<delete dir= "${dest}"/>
<delete dir= "${dist}" />
</target>
<!--javac 元素把 srcdir 指定目录下所有
*.java 文件编译成 *.class 文件到 destdir 指定的目录下!如果不指定 destdir
属性,那么默认编译到同一目录下。其他属性:classpath:等价于javac 的-classpath
选项,指定所使用的类路径;debug="on":指示编译器应该带调试信息编译源文件。-->
<target name= "compile" depends= "init">
<javac srcdir= "${src}" destdir= "${dest}/src" debug= "on"/>
</target>
<!--将项目源文件打jar包-->
<target name= "create-jar" depends= "compile" >
<echo message= "将项目源文件打包jar!" />
<jar jarfile= "${dist}/${product.jar.name}" >
<fileset dir= "${dest}/src" >
<include name= "**/*" />
</fileset> </jar>
</target>
<!--将项目源文件打war包-->
<target name= "dist-war" depends= "clean,init,compile,create-jar" >
<war destfile= "${dist}/${product.war.name}" >
<fileset dir= "${dest}/webdocs" ></fileset>
</war>
</target>
<!--将jar,war包导入到jboss制定路径-->
<target name= "copy-war-to-jboss" depends= "clean,init,compile,create-jar,dist-war" >
<echo message= "将编译的和导入的jar包导入到jboss下的server/default/lib目录下" />
<copy todir= "${jboss.home}/server/default/lib" overwrite= "true" >
<fileset dir= "${dist}" includes= "*.jar" />
<fileset dir= "${lib.dir}" includes= "*.jar" />
</copy>
<echo message= "删除历史的war包" />
<delete dir= "${jboss.home}/server/default/deploy/${product.war.name}" /> <echo message= "将打成的war包拷贝到server/default/deploy目录下" />
<copy todir= "${jboss.home}/server/default/deploy" overwrite= "true" >
<fileset dir= "${dist}" includes= "${product.war.name}" />
</copy>
</target>
<!--将jar、war包导入到jboss制定目录,但是和上面的方式不同,不同之处是上面的方法是将war包拷贝到jboss制定目录,而现在先创建一个文件夹(*.war),再将${dest}/webdocs下的内容拷贝到这个文件夹下--> <target name= "copy-dir-to-jboss" depends= "clean,init,compile,create-jar" >
<echo message= "将编译的和导入的jar包导入到jboss下的server/default/lib目录下" />
<copy todir= "${jboss.home}/server/default/lib" overwrite= "true" >
<fileset dir= "${dist}" includes= "*.jar" />
<fileset dir= "${lib.dir}" includes= "*.jar" />
</copy>
<echo message= "删除历史的war包" />
<delete dir= "${jboss.home}/server/default/deploy/${product.war.name}" />
<echo message= "再将${dest}/webdocs下的内容拷贝到server/default/deploy/${product.war.name}目录下" />
<copy todir= "${jboss.home}/server/default/deploy/${product.war.name}" overwrite= "true" >
<fileset dir= "${dest}/webdocs" includes= "**/*" />
</copy>
</target>
</project>
附件:test的一段ant脚本代码
http://www.cnblogs.com/pony1223/admin/Files.aspx
Ant学习总结2的更多相关文章
- ant学习
如果在构建文件当中depends后面有多个依赖,而且这多个依赖还相互依赖,那么只会执行被依赖的任务,不会重复执行任务 ant学习
- 【转】Ant学习笔记——自己构建Ant编译环境
自从年初开始用NetBeans6.0,才接触到Ant. 这是今年6月份的一篇Ant学习笔记.安装 1.下载并构建环境. 去官网下载src包和bin包.解压缩它们到同一目录,运行build.bat, ...
- Ant学习-002-ant 执行 TestNG 测试用例时 [testng] java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 解决方案
上篇文章中概述了 Ant windows 环境的基本配置,此文讲述在初次使用的过程中遇到的问题. 今天通过 ant 执行 TestNG 测试用例时,执行报错,相应的错误信息如下所示: Buildfil ...
- Ant学习-001-ant 基础知识及windows环境配置
一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...
- ant 学习与开发
ant 学习与开发 http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html
- Ant学习实例
ant 目录(?)[+] Ant学习实例 安装Ant 基础元素 project元素 target元素 property元素 完整示例 Ant学习实例 1.安装Ant 先从http://ant. ...
- Ant学习笔记
前言:这段时间在学习Ant,发现这是一个很强大的构建工具.你可能使用了很长一段时间,才发现Ant能做数不完的事.总之,个人觉得,Ant学习门槛低,入门简单,能大概看懂程序,写一些简单的脚本即可,剩下在 ...
- Ant学习笔记(1) 基础知识
Ant Apache Ant 是一个基于 Java的构建工具. 下载Ant google.baidu.Windows用户下载zip格式.解压即可. Windows安装Ant Ant本质上是一个Java ...
- Ant 学习
到了新公司,发现公司使用ant 来代码生成.本来学习后写下来.在网上找到一篇教程,实在是非常给力... 就把连接记下来吧:http://www.blogjava.net/amigoxie/archiv ...
- Ant 学习及常用任务
安装与配置 下载地址:http://ant.apache.org/bindownload.cgi,解压. 添加系统环境变量: ANT_HOME,该变量指向Ant解压后的根目录. PATH,追加path ...
随机推荐
- Spring自定义标签
一.原理: 1.Spring通过XML解析程序将其解析为DOM树, 2.通过NamespaceHandler指定对应的Namespace的BeanDefinitionParser将其转换成BeanDe ...
- BZOJ1119[POI2009]SLO && BZOJ1697[Usaco2007 Feb]Cow Sorting牛排序
Problem J: [POI2009]SLO Time Limit: 30 Sec Memory Limit: 162 MBSubmit: 622 Solved: 302[Submit][Sta ...
- Prism之使用EventAggregation进行模块间通信
在开发Silverlight程序的时候,经常需要在不同的组件间进行通信.比如点击一个button,可能就需要改变另一个控件的内容.比较直接的办法是使用事件,当然使用MVVM的时候也可以使用comman ...
- javaEE开发中使用session同步和token机制来防止并发重复提交
javaEE开发中使用session同步和token机制来防止并发重复提交 通常在普通的操作当中,我们不需要处理重复提交的,而且有很多方法来防止重复提交.比如在登陆过程中,通过使用redirect,可 ...
- AngularJS最理想开发工具WebStorm
http://blog.fens.me/angularjs-webstorm-ide/ Angularjs插件下载地址:http://plugins.jetbrains.com/plugin/6971 ...
- Myeclipse快捷键集合
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...
- ORA-01555经典错误
--创建undo表空间时固定表空间的大小 sys@TDB112>create undo tablespace undo_small 2 datafile'/u01/app/oracle/ora ...
- C++ 常量类型 const 详解
1.什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的.(当然,我们可以偷梁换柱进行更新:) 2.为什么引入const? const 推出的初始目的 ...
- SQL server 定时自动执行SQL存储过程
当一个存储过程是为了生成报表,并且是周期性的,则不需要人工干预,由SQL作业定时自动执行些SQL存储过程即可. 本示例,假设已需要定时执行的存储过程为:Pr_test 工具/原料 SQL Server ...
- Servlet生命周期方法,request.getRequestDispatcher
1,request.getRequestDispatcher 方法全称javax.servlet.ServletRequest.getRequestDispatcher(String) 2,在web. ...