第四天,linux下使用apache ant搭建一个java project

来源:互联网 发布:sql varchar转decimal 编辑:程序博客网 时间:2024/06/05 16:24

Apache Ant 是一个将软件的编译、测试、部署等步骤联系在一起加以自动化的工具。
Ant是纯java写得,具有很好跨平台性。Ant是一个由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件是xml格式的文件,所以很容维护和书写,而且结构很清新。Ant可以集成到开发环境中。更多关于Apache Ant的介绍

搭建一个java project需要良好的树型结构,借助eclipse的建立一个project,我们看到
这里写图片描述
这里写图片描述

我们在linux下,也因该搭建类似的项目project树型结构。在命令行下输入
mkdir crm 创建相应的project(文件夹)
mkdir src 创建相应存放原码的文件夹
mkdir com 创建相应的package包
这里写图片描述
在com(package)下,我们就可以编写我们的java源代码了。例如:
这里写图片描述

此时想要运行、编译我们的java程序,则需要编写Ant运行所需要的xml文件了,回到我们的project根目录下面(即crm目录下)。输入
touch build.xml 创建了构建文件
vi build.xml 开始编写我们的构建文件
这里写图片描述Ant实际上是通过调用构建文件的target树,来执行各种task的。查看编写xml文件的标签

我们先可以看一下,我们java project树型结构
这里写图片描述

1、 我们可以先创个存放class文件的文件夹
vi build.xml 如下图输入
这里写图片描述
在project根目录下(文件crm下)输入 ant init (这里init 是根据xml文件里target name来输入的)
可以看到运行结果如下图,存放class文件的文件夹已被创建在crm目录下。
这里写图片描述

同样的,我们也可以执行下删除文件。在build.xml编写输入:
这里写图片描述
输入 ant del,就可以看到classes文件夹被删除了。
这里写图片描述

2、编译、运行java源代码
同样的在build.xml输入
这里写图片描述
在crm目录下输入 ant run,就可以看到结果如下图所示,成功执行了java的输出语句。
这里写图片描述

3、打包jar包,运行jar包
同样的在build.xml输入
这里写图片描述
在crm目录下输入 ant runjar,就可以看到结果如下图所示,成功执行了java的输出语句。
这里写图片描述

4、运行一个jar包,并且删除运行痕迹
同样的在build.xml输入
这里写图片描述
在crm目录下输入 ant runonce,就可以看到结果如下图所示,成功执行了java的输出语句。
这里写图片描述

到这里我们已经完成一个简单的linux下使用apache ant,java project搭建了。
(关于Apache Ant在linux下的安装,与环境变量的搭建可以查看我另外一篇博客linux下Apache Ant的安装、与环境变量搭建。)

ps:xml文件的代码如下:

<project>pache Ant<property name="src" value="src"/><property name="classes" value="classes"/><property name="jarfile" value="Demo.jar"/><!--创建一个文件夹用来存放class文件的target--><target name="init"><mkdir dir="${classes}"/></target><!--删除一个文件夹的target--><target name="del"><delete dir="${classes}"/></target><!--编译java源代码的target--><target name="compile" depends="init"><javac srcdir="${src}" destdir="${classes}" includeantruntime="on"/></target><!--运行class文件的target--><target name="run" depends="compile"><java classname="com.Demo" classpath="${classes}" /></target><!--打包jar包的target--><target name="jar" depends="compile"><jar jarfile="${jarfile}" basedir="${classes}"/></target><!--运行jar包的target--><target name="runjar" depends="jar"><java classname="com.Demo" classpath="${jarfile}"/></target><!--删除一个jar包的target--><target name="deljar" depends="del,runjar"><delete dir="${jarfile}"/></target><!--运行jar包,并且删除痕迹的target--><target name="runonce" depends="runjar,deljar"></target></project>
0 0
原创粉丝点击