由于项目中有用到公司自己封装的SDK,那么如果有新的开发人员,可以利用Ant来生成项目的基本架构,这样可以让新人迅速的熟悉项目的基本开发流程。
这篇文章的话,主要来演示一下,怎么利用Ant将一个初步的项目模版生成。
首先,我们来看一下这个Demo的目录结构:
Template目录里面存放着java文件(包名/类名.java)
其中包名和类名都是一个$符号包围的字符串,这些主要是取决你要生成什么名字的项目
现在,再来看看$IVAN_CLASS$.java里面的代码:
package $IVAN_PACKAGE$;
public class $IVAN_CLASS$
{
……………………
}
里面的代码,也是再项目生成后,会替换成相应的名字.
现在,外面在Template的同级目录下面,建立我们的ant脚本: build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="GenFileByTemplate" basedir="." default="generFile">
<!-- 接受用户输入 -->
<target name="input-args" depends="" description="接受包名输入">
<echo message="================="/>
<echo message="====开始生成文件====="/>
<echo message="================="/>
<!-- 包名设置 -->
<input addproperty="package" message="请输入包名:"/>
<condition property="p_name" value="${package}">
<not>
<equals arg1="${package}" arg2="" trim="true"/>
</not>
</condition>
<fail unless="p_name" message="包名不能为空^o^"/>
<!-- 类名设置 -->
<input addproperty="classname" message="请输入类名:"/>
<condition property="c_name" value="${classname}">
<not>
<equals arg1="${classname}" arg2="" trim="true"/>
</not>
</condition>
<fail unless="c_name" message="类名不能为空^o^"/>
</target>
<target name="generFile" depends="input-args" description="根据模版生成文件">
<filterset id="filterfile" begintoken="$" endtoken="$">
<filter token="IVAN_PACKAGE" value="${package}"/>
<filter token="IVAN_CLASS" value="${classname}"/>
</filterset>
<!-- 创建目的目录 -->
<mkdir dir="./dist"/>
<!-- 从一个目录拷贝至另外一个目录 -->
<!--执行到这里,会将$IVAN_CLASS$.java文件里面的代码改掉$-->
<copy todir="./dist" overwrite="true">
<fileset dir="./template">
<include name="$IVAN_PACKAGE$/*.java"/>
</fileset>
<filterset refid="filterfile"/>
</copy>
<!-- 一下会将文件名跟目录名改掉 -->
<move file="./dist/$IVAN_PACKAGE$/$IVAN_CLASS$.java" tofile="./dist/${package}/${classname}.java"/>
<delete dir="./dist/$IVAN_PACKAGE$"/>
</target>
</project>
这里,我在脚本里面有了详细的注释,如果我们执行ant ,则可以像项目模版的生成(like appfuse 的生成功能).
这里截图来看
当前的目录结构:
下面我们来执行脚本,这里会要求你输入你的包名和类名,这个DEMO的包名只是象征性的输入了一个单词
(有可能会输入像,com.xx.xx ,如此的话,就必须产生多级目录,这里只是做演示,则没处理,有兴趣的朋友,可以自己尝试下):
OK,现在我们再来看目录结构(会产生一个dist目录, 下面有模版中的文件,但是名字都变成你输入的包名和类名了):
OK, 这样我们就把项目结构生成出来了,而且还是根据我们输入的参数来产生相应的包和类的。
那么我们java文件的代码是否也同时更改了呢? 让我们来看看java文件的代码:
自此,这个DEMO已经完成。 大家对ANT有兴趣的,可以去apache上了解相关的内容。欢迎大家对本文拍拍砖。
- 大小: 7.6 KB
- 大小: 31.5 KB
- 大小: 63.8 KB
- 大小: 13.7 KB
- 大小: 58.1 KB
分享到:
相关推荐
ant build.xml demo 供自己及好友学习,能很快上手
ant design pro 入门demo,包含自己开发的一个组件,供大家参考
Ant 编译 多目录demo,同时编译多个目录的Ant demo代码。
使用Ant打包的demo.
这里是我的代码的ant打包的demo和反编绎的工具,欢迎下载。
umi+ant_pro-demo.rar
含: apache-ant-1.9.2-bin.zip Ant帮助文档.docx 有文档结构视图,方便查阅 Ant 下载、安装、使用、教程全面了解 - edward0830ly的...3个demo:build.xml自己随便写的,build-wsimport-example.xml,build-ejb-demo
apache-ant-1.9.6 demo
一个用于weblogic下ant部署的demo。
Ant's Game
ant打zip包简单demo,网上看到竟然一个ant包,也要要积分下载,汗死鸟
Ant脚本打包Android程序的demo(含打包第三方jar)。 build_with_bat是基于bat脚本实现的。 build是在build_with_bat的基础上实现的,主要是在compile和dex部分增加了第三jar的打包。
在构建web项目中用到的ant的build.xml的例子
Ant 项目构建教程,可以正确指导如何搭建。
ant 自动化构建eclipse web项目, 并且打包发布,启动tomcat和浏览器
Vue ant-d 实现面包屑和布局和菜单 demo,里面使用vue+ant-d实现页面布局,面包屑、路由,菜单功能
Ant Design 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。 ant design4.40-web组件库 是基于Axure ,参考Ant Design 的样式而设计的一套模板库,是产品经理必备套件库,Ant Design...
ant ant ant antant ant ant antant ant ant ant
目录 ANT简介 安装Apache Ant 验证Apache Ant的安装 安装 Eclipse ...Ant构建项目 Ant构建文档 Ant创建JAR文件 Ant创建WAR文件 Ant打包应用 Ant部署应用程序 Ant执行Java代码 Ant和Eclipse集成 Ant Junit集成