首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Ant学习札记(三)

2012-12-18 
Ant学习笔记(三)?3.??使用Ant的jar任务生成jar文件读者可以在上例的基础上更进一步,来生成jar包,可在run这

Ant学习笔记(三)

?

3.??使用Antjar任务生成jar文件

读者可以在上例的基础上更进一步,来生成jar包,可在run这个target下再加上如下target:

<target?name="jar"?depends="run">
<jar?destfile="helloworld.jar"?basedir="build/classes">
???????????<manifest>
??????????????<attribute?name="Main-class"?value="HelloWorld"/>
???????????</manifest>
???????</jar>
</target>

此时将ant的project的default属性设置为jar,同时运行该build.xml文件,运行完毕后,可看到在工程目录下生成了一个jar包HelloWorld.jar。

4.??使用Antwar任务打包J2EE Web项目

建立一个J2EE Web工程,其目录结构如下图所示:

其中src为源代码目录,WebRoot为各jsp存放目录,lib为工程的包目录。在antwebproject工程目录下建立了build.xml文件,该文件为该工程的Ant构件文件。读者可以src目录下放入在前续例子中开发的HelloWorld.java文件,并在WebRoot下建立index.jsp文件,其内容很简单,就是输出Hello信息,代码如下所示:

<%@?page?language="java"?contentType="text/html;?charset="UTF-8"?pageEncoding="UTF-8"%>
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">
<html>
????<head>
???????<meta?http-equiv="Content-Type"?content="text/html;?charset=ISO-8859-1">
???????<title>ant打包测试</title>
????</head>
????<body>
???????Hello,Ant
????</body>
</html>

???接下来编写build.xml文件,其内容如下:

<?xml?version="1.0"?>
<project?name="antwebproject"??default="war"basedir=".">
?<property?name="classes"?value="build/classes"/>
????<property?name="build"value="build"/>
????<property?name="lib"value="WebRoot/WEB-INF/lib"/>
????<!--?删除build路径-->
????<target?name="clean">
???????<delete?dir="build"/>
????</target>

????<!--?建立build/classes路径,并编译class文件到build/classes路径下-->
????<target?name="compile"?depends="clean">
???????<mkdir?dir="${classes}"/>

???????<javac?srcdir="src"?destdir="${classes}"/>
????</target>

????<!--?打war包-->
????<target?name="war"?depends="compile">
<war?destfile="${build}/antwebproject.war"?webxml="WebRoot/WEB-INF/web.xml">
???????????<!--?拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹-->
????<fileset?dir="WebRoot"?includes="**/*.jsp"/>

???????????<!--?拷贝lib目录下的jar包-->
???????????<lib?dir="${lib}"/>
???????????<!--?拷贝build/classes下的class文件-->
???????????<classesdir="${classes}"/>
???????</war>
????</target>
</project>

????各target的作用在内容中已经进行说明,在此不再赘述。运行该build文件,更新目录后,可看到在build目录下生成了antwebproject.war文件,解开后可看到其目录结构如下:

--META-INF

???? --MANIFEST.MF

--index.jsp

--WEB-INF

???? --lib

??????????? --log4j-1.2.9.jar

???? --classes

??????????? --HelloWorld.class

???? --web.xml

?????读者可以将该war包拷贝到Tomcat的目录下看一下运行结果。

五.??总结

在本文中,笔者由浅至深详细描述了Ant的安装与配置、关键元素和常用任务。并通过实例讲述了Ant在我们Java项目中的应用,讲述了编译、运行java程序,以及打jar包、war包等知识,引领读者进入Ant的奇妙世界。在本文中可以看到,Ant在自动构建和部署Java程序方面方便易用,而且非常灵活,不失为我们Java开发者的绝佳帮手

?

热点排行