`

Apache Ant 实例介绍

阅读更多

  开开心心的过了个年,快快乐乐的过了个情人节!So,继续我技术的学习积累,努力工作吧,也向各位朋友拜个晚年!

  去年把DBUtils组件读了个遍,另外也写了一些实例和测试代码,在我的工程里,这个月整理出来。当然,最希望的是,能通过这个平台,与同行有更多交流的机会。如果我在学习积累过程中做下的笔记,能够对大家哪怕只有一点点的帮助,也倍感欣慰和荣幸!

  实际上呢,我想各位也很清楚,ASF在Java开源领域的地位,我们常常需要用到它的一些开源项目,我们学习他,研究他,甚至于参与开发他。每每我们download项目的时候,项目通常是Ant/Maven这两个跨平台的构件工具 进行编译发布,再加上前些日子一朋友问我关于Maven如何发布项目,这就促使了我决定学习这两个构件工具。说来惭愧,到目前为止,还没有动用过这两个东西来发布项目过,全部是MyEclipse->Deployments->Run Server。罢了,今儿开始,学习一下看看。当然了,这一切的学习成果和资料来源都来自各位前辈的劳动成果。

  Ant和Maven的优劣区别在这里就不再说了,在本篇,着重先来了解一下Ant:

  1下载安装:

     下载apache-ant-1.8.2-bin.zip

      解压ant的包到本地目录;  
      在环境变量中设置ANT_HOME,值为你的安装目录;    
      把%ANT_HOME%/bin加到你系统的path中;

      在CMD模式下,输入ant -version,回车,如果看到如下信息:

       Ant测试成功信息     

     则表示你已成功安装Ant,当然了,这一切的保证就是你必须安装了JDK。没有什么大问题,OK,跑个小例子看看:

  2 HelloWorld:

     在任一磁盘里新建一个antDemo的目录, 此文中的所有的示例均在此目录下,感兴趣的朋友不妨下下来看看。

     1)建立基本的Java工程:

        1-1)在antDemo目录下,建立名为antstudy的Java工程,在此工程下建立一src目录存放源代码,在src目录下建立HelloWorld.java,HelloWorld的具体内容如下:

 

public class HelloWorld{
	public static void main(String[]args){
		System.out.println("Hello,ant!");
	}
}

        没有IDE工具怎么编译运行此文件夹来着?!呵呵~cmd模式下javac/java!

        OK,现在我们用Ant来编译此文件,编译后将HelloWorld.java对应的class文件存放在build/classes目录下:

        在antstudy的Java工程下,建立一build.xml文件,ant默认解析此文件。在编译之前,需清除classes目录,然后再建立一个新的build/classes目录,再将HelloWorld.java编译到此目录下,build.xml的内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<project name="antStudyProj" default="compile" basedir=".">
	<property name="classdir" value="build/classes"/>
	<target name="clean">
		<delete dir="${classdir}"/>		
	</target>
	
	<target name="compile" depends="clean">
		<mkdir dir="${classdir}" />
		<javac srcdir="src" destdir="${classdir}" />
	</target>
</project>

   现在来运行一下看看,指定到antstudy目录,输入ant,看看控制台的输出信息:

    

    经过一系列的clean->compile,我们看到build/classes目录下,编译成功了HelloWorld.class.

   1-2)编译成功了是没错,得输出结果吧,我们得向我们的ant say hello一下啊,所以看看Ant是如何运行此文件的:

   修改build.xml,在上面两个target后新增一个名为run的target,并将project的default属性修改为run,具体的内容参见附件代码,现贴出target代码如下:

 

<target name="run" depends="compile">
	<java classname="HelloWorld">
		<classpath>
			<pathelement path="${classdir}"/>
		</classpath>
	</java>
</target>

   再次在控制台输入ant,输出信息如下所示:

  

   OK,Hello,ant!的信息也打印出来了,总算大功一件告成!

   1-3)还有一个功能比较的重要:打jar包。这个重要的功能当然不能忘,这得需要用到Ant的jar标签,该标签对应Java的jar命令。新建一个名为jar的target,并依赖于run,修改project的default属性为jar,现贴出此target标签的代码:

 

<target name="jar" depends="run">
	<jar destfile="helloworld.jar" basedir="${classdir}">
		<manifest>
			<attribute name="Main-class" value="HelloWorld"/>
		</manifest>
	</jar>
</target>

  保存完毕后,同样输入ant,我们就可以看到antStudy目录下多了一个helloworld.jar:

 

   2)编译发布JavaEE项目:

    建立一JavaEE Web项目,目录结构如下:

                                        

    其中src目录存放源代码(暂将上一节的HelloWorld.java文件拷贝至此目录下),WebRoot存放各类的html/jsp文件等,lib下自然是放各类的jar包了,build/classes是存放src下的编译文件。在WebRoot目录下新建一index.jsp文件。建立打包andWebStudy项目的build.xml,具体内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<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"/>
   
    <target name="clean">
       <delete dir="${build}"/>
    </target>

    <target name="compile" depends="clean">
       <mkdir dir="${classes}"/>
       <javac srcdir="src" destdir="${classes}"/>
    </target>

    <target name="war" depends="compile">
	<war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">
	    <fileset dir="WebRoot" includes="**/*.jsp"/>
            <lib dir="${lib}"/>
            <classes dir="${classes}" />
      </war>
    </target>
</project>

   完成之后,指定到antWebStudy目录,输入ant,我们看看控制台的信息如下:

  

  打包成功后,我们可以看到build目录下,多出了一个antwebproject.war文件,将此文件扔到tomcat的webapp目录下,在浏览器里输入http://localhost:8080/antwebproject/,便可看到运行结果了。当然了,我们也可以直接指定服务器的运行目录,这样可省得再拷贝了,怎么搞呢?!被你发现了,war标签的destfile属性修改一下即可了!

 

 

 

 

 

 

 

  • 大小: 10.7 KB
  • 大小: 38.3 KB
  • 大小: 52.6 KB
  • 大小: 8.6 KB
  • 大小: 6.9 KB
  • 大小: 57.6 KB
分享到:
评论
3 楼 hwwjason 2015-09-01  
<target name="jar" depends="run"> 
    <jar destfile="helloworld.jar" basedir="${classdir}"> 
        <manifest> 
            <attribute name="Main-class" value="HelloWorld"/> 
        </manifest> 
    </jar> 
</target> 
value错了是这样的"antStudy.HelloWorld

<target name="run" depends="compile">
<java classname="antStudy.HelloWorld">
<classpath>
<pathelement path="${classdir}"/>
</classpath>
</java>
</target>
2 楼 hwwjason 2015-09-01  
我输出hello ant哪一步就失败了,没法输出hello ant,谁让编译成功了
1 楼 ypli1104 2012-03-16  
good  很有帮助

相关推荐

    apache ant使用例子

    在"apache ant使用例子"中,我们可以通过一个名为"HelloAnt"的MyEclipse工程实例来学习如何使用Ant。MyEclipse是Eclipse IDE的一个扩展,特别适合于Java EE项目的开发,它内置了对Ant的支持,使得我们可以方便地在...

    Apache Ant常用标签介绍

    下面将详细介绍一些Apache Ant中常用的标签。 1. `&lt;project&gt;`:这是Ant构建文件的根元素,定义了整个构建项目的属性,如项目名称、版本、默认目标等。例如: ```xml ``` 2. `&lt;target&gt;`:定义了一个可执行的...

    org.apache.ant_1.7.1.v20100518-1145.zip

    Apache Ant 是一个广泛使用的构建工具,它在Java开发领域中扮演着重要角色。这个压缩包“org.apache.ant_1.7.1.v...通过这个压缩包,用户可以获取到Ant的一个完整实例,从而在自己的项目中使用或研究Ant的工作机制。

    ant入门小实例练习

    Ant是Apache软件基金会的一个开源项目,它是一个Java构建工具,主要负责自动化构建Java应用程序,包括编译、打包、测试和部署等任务。在Java开发环境中,Ant替代了传统的Makefile,提供了一种跨平台的解决方案。 在...

    org.apache.tools.*需要的ant.jar包

    标题中的"org.apache.tools.*需要的ant.jar包"指的是Apache Ant的核心库,这个库包含了`org.apache.tools`包下的一系列类和接口,它们是Ant运行时不可或缺的部分。在Java项目中,如果你需要通过代码来调用Ant进行...

    Apache Ant自动化脚本入门教程及常用命令介绍

    ### Apache Ant自动化脚本入门教程及常用命令介绍 #### 一、Apache Ant简介 Apache Ant 是一款用于自动化软件构建流程的工具,广泛应用于 Java 开发环境中。Ant 的核心优势在于其强大的跨平台能力,因为它是完全由...

    Ant:apache ant 教程

    Apache Ant 是一个由Java开发的构建工具,它主要用于自动化Java项目的构建、编译、测试和部署过程。在本文中,我们将深入探讨Ant的基本概念、核心组件、任务以及如何配置和使用它。 一、Ant简介 Ant是Apache软件...

    Ant教程Ant教程Ant教程Ant教程

    `Ant教程.doc`和`ant工具使用.pdf`很可能是全面的Ant教程文档,包含了Ant的基本概念、命令行选项和常用任务的实例。`unittest-junit.pdf`可能进一步深入讲解了JUnit的使用方法,特别是针对单元测试的编写和执行。 `...

    ant-apache-resolver-1.6.3.jar.zip

    《Ant Apache Resolver 1.6.3:构建过程中的依赖管理利器》 在软件开发过程中,尤其是Java领域,构建工具起着至关重要的作用。Apache Ant是其中一款著名的自动化构建工具,它基于XML来定义任务,使得构建过程清晰、...

    ant使用实例(TXT )

    以上两个实例详细介绍了Apache Ant的基本用法,包括定义项目、设置属性、执行任务等。通过这些实例的学习,可以帮助初学者快速掌握Ant的基本操作,从而更高效地进行软件构建。此外,这些示例也展示了Ant的强大功能,...

    Apache ant 1.8.2

    Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。...有ant 命令,build实例,包内也有json 格式转换个学习资料!

    ant+Spting实例小程序可运行

    标题 "ant+Spting实例小程序可运行" 暗示我们正在讨论一个使用Apache Ant构建工具和Spring框架的Java应用程序实例。Apache Ant是Java开发中常用的一个自动化构建工具,它可以帮助开发者编译、打包和测试项目。而...

    ant+junit程序小实例(绝对可以运行)

    `Ant` 是一个由Apache软件基金会开发的Java构建工具,它使用XML来描述构建过程,具有高度的灵活性和可扩展性。`JUnit` 则是Java编程语言中最常用的单元测试框架,它使得开发者能够编写易于执行和维护的自动化测试...

    JAVA_Ant详细介绍与应用

    JAVA_Ant详细介绍与应用。 Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一.安装与配置 二...

    自定义AntTask简单实例

    本教程将通过一个简单的实例,讲解如何创建和使用自定义Ant Task。 首先,理解Ant Task的基本结构。一个自定义Task通常继承自`org.apache.tools.ant.Task`类,并重写`execute()`方法,这是Task执行时调用的核心方法...

    Ant打包实例

    在IT行业中,Ant是Apache软件基金会的一个开源项目,它是一个基于Java的构建工具,主要用于管理Java项目的构建过程。Ant以其XML格式的构建文件(build.xml)而闻名,它定义了项目构建的步骤和依赖关系。在本篇内容中...

    ant 学习 笔记 一个简单的java 编译部署实例

    根据提供的文件信息,这里将深入解析“ant学习笔记:一个简单的java编译部署实例”,涵盖标题、描述、标签以及部分内容中提及的关键知识点。 ### Apache Ant简介 Apache Ant是一款开源的Java环境下的自动化构建...

    ant实例和资料

    Ant是Apache软件基金会的一个开放源代码项目,它是一款强大的构建工具,主要被Java开发者用于管理项目的构建、编译、测试和部署过程。Ant基于XML,它的核心理念是通过任务(tasks)来执行各种构建任务,这些任务可以...

Global site tag (gtag.js) - Google Analytics