本篇博客知识点
1.Ant是什么以及能帮我们做什么事
2.Ant常用的命令及其演示
Ant是什么以及能帮我们做什么事
Ant是一个构建工具,是一个小程序。但是它通过自动完成所有的编译代码,运行测试以及打包重新部署的结果等繁琐费力的任务来帮助软件团队开发大程序.。
Ant的目标是自动完成所有的构建过程。
Ant 使用Java编写,跨平台,易使用且可伸缩。既可以用在小型个人项目中,也可以用于大型多团队软件。
简单来说 Ant就是一个帮我们做事的小工具,用XML文档格式把任务Target写好就行了, 因为是一个很多人用的工具,所以就得有标准。我们只要学会这些标准就好。
Ant常用的命令及其演示
-
1.创建— 只要再项目中创建一个build.xml文档就行了。 像这样
“`
2.之后呢,就写这个文档就好了:
project表示项目,工程什么的,总的名字
target 表示一个项目项大的任务
target 里面就是有很多特定功能的小任务
小人物就是很多指令,主要的就是学习这些指令怎么使用
<?xml version="1.0" encoding="utf-8" ?>
<!--有且必须有一个project元素。
basedir:当前项目的路径,"."指当前目录
name: 项目的名称
default: 是指程序的入口任务
-->
<project basedir="." default="def" name="MyAntProject">
<!--一个项目中包含一个或多个target,每个target内部又包含一个或多个task
助理解: 一个项目包含一项或多项大任务, 每项大任务又包含一个或多个小任务
-->
<!--定义一个名为dft的target(大任务),该名字在project的default属性中引用了,说明当前target是默认的-->
<target name="def">
<echo message="Hello.Ant"></echo>
</target>
<target name="jdoc" >
<javadoc sourcepath="src"
destdir="d:a/docs"
packagenames="cn.hncu.*"
encoding="utf-8"
docencoding="gbk"
/>
</target>
<target name="makeDir">
<!--mkdir可创建多级目录,若存在则不创建-->
<mkdir dir="d:a//aa//b"/>
</target>
<target name="deleteDir">
<!--delete任务可以删除文件或目录-->
<delete dir="d:a//aa/b"/>
</target>
<!--我们自己写Ant程序实现把项目发布到Tomcat/webapps-->
<property name="tomcat_home" value="E:\\Tomcat\\apache-tomcat-7.0.30-windows-x86\\apache-tomcat-7.0.30\\webapps"></property>
<target name="deploy">
<copy todir="${tomcat_home}/${ant.project.name}">
<fileset dir="${basedir}/webRoot">
<!--**为任意目录(包括深度和名称), *.*为任意文件-->
<include n这里写代码片 message="Hello.Ant"></echo>
</target>
</copy>
</target>
</project>
我的例子里面的第一个指令是echo,用来显示信息的
<target name="def">
<echo message="Hello.Ant"></echo>
</target>
第二个指令是javadoc:功能就是Eclipse的项目导出功能
<target name="jdoc" >
<javadoc sourcepath="src"
destdir="d:a/docs"
packagenames="cn.hncu.*"
encoding="utf-8"
docencoding="gbk"
/>
</target>
我现在就把这个项目导出到指定的路径:完全没问题(我用的MyEclipse底层也是用Ant工具导出的,但是它不支持中文UTF-8的编码,所以会导出失败)
第三个指令是建立文件夹mkdir
<target name="makeDir">
<!--mkdir可创建多级目录,若存在则不创建-->
<mkdir dir="d:a//aa//b"/>
</target>
第三个指令是删除文件夹delete :他会把aa及以下所以的路径都删除
<target name="deleteDir">
<!--delete任务可以删除文件或目录-->
<delete dir="d:a//aa"/>
</target>
最后一个命令是稍微复杂点的: 模拟MyEclipse发布项目(将项目拷贝到tomcat的webapp目录下)
先看代码
<!--我们自己写Ant程序实现把项目发布到Tomcat/webapps-->
<property name="tomcat_home" value="E:\\Tomcat\\apache-tomcat-7.0.30-windows-x86\\apache-tomcat-7.0.30\\webapps"></property>
<target name="deploy">
<copy todir="${tomcat_home}/${ant.project.name}">
<fileset dir="${basedir}/webRoot">
<!--**为任意目录(包括深度和名称), *.*为任意文件-->
<include name="**/*.*"/>
</fileset>
</copy>
</target>
webApp目录下没有我们的项目
运行之后就有了
再把Tomcat服务器启动,看看能不能访问
访问~
访问失败:原因在于我们直接是把项目拷过来了,缺少了一下在网页上运行的包,这些包我们也需要, 对比 MyEclipse拷过来的包就能发现区别了
明显我们的包少了,然后手动拷贝。再重新启动tomcat后访问
没有问题了。
最后总结一下吧,多用就会了。哈哈