`
zengguo1988
  • 浏览: 274455 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

用Ant实现Java项目的自动构建和部署(4)

    博客分类:
  • ANT
阅读更多
四.    利用Ant构建和部署Java工程
Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。
1.       利用Ant的javac任务来编译java程序
Ant的javac任务用于实现编译Java程序的功能。下面来看一个简单的例子:
首先我们建立名为antstudy的Java工程,建立src目录为源代码目录,在src目录下建立HelloWorld.java这个类文件。该类文件的内容如下:
 
publicclass HelloWorld {
    publicstaticvoid main(String[] args) {
       System.out.println("Hello,Amigo");
    }
}
同时在antstudy工程的根目录下建立build.xml文件,在该文件中编译src目录下的java文件,并将编译后的class文件放入build/classes目录中,在编译前,需清除classes目录,该文件的内容如下:
<?xml version="1.0"?>
<projectname="javacTest"default="compile"basedir=".">
    <targetname="clean">
       <deletedir="build"/>
    </target>
   
    <targetname="compile"depends="clean">
       <mkdirdir="build/classes"/>
       <javacsrcdir="src"destdir="build/classes"/>
    </target>
</project>
    运行该build.xml文件,可在工程中看到新增了build/classes目录,并在该目录中生成了编译后的HelloWorld.class文件。
2.       使用Ant的java任务运行Java程序
Ant中可以使用java任务实现运行Java程序的功能。下面在1的例子中进行如下的修改,修改后的build.xml文件的内容如下:
<?xml version="1.0"?>
<projectname="javaTest"default="jar"basedir=".">
    <targetname="clean">
       <deletedir="build"/>
    </target>
   
    <targetname="compile"depends="clean">
       <mkdirdir="build/classes"/>
       <javacsrcdir="src"destdir="build/classes"/>
    </target>
   
    <targetname="run"depends="compile">
       <javaclassname="HelloWorld">
           <classpath>
              <pathelementpath="build/classes"/>
           </classpath>
       </java>
    </target>
</project>
       运行该build.xml文件,可在控制台看到HelloWorld的main方法的输出。
3.       使用Ant的jar任务生成jar文件
读者可以在上例的基础上更进一步,来生成jar包,可在run这个target下再加上如下target:
<targetname="jar"depends="run">
       <jardestfile="helloworld.jar"basedir="build/classes">
           <manifest>
              <attributename="Main-class"value="HelloWorld"/>
           </manifest>
       </jar>
</target>
此时将ant的project的default属性设置为jar,同时运行该build.xml文件,运行完毕后,可看到在工程目录下生成了一个jar包HelloWorld.jar。
4.       使用Ant的war任务打包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"?>
<projectname="antwebproject"default="war"basedir=".">
    <propertyname="classes"value="build/classes"/>
    <propertyname="build"value="build"/>
    <propertyname="lib"value="WebRoot/WEB-INF/lib"/>
   
    <!-- 删除build路径-->
    <targetname="clean">
       <deletedir="build"/>
    </target>
   
    <!-- 建立build/classes路径,并编译class文件到build/classes路径下-->
    <targetname="compile"depends="clean">
       <mkdirdir="${classes}"/>
       <javacsrcdir="src"destdir="${classes}"/>
    </target>
   
    <!-- war-->
    <targetname="war"depends="compile">
       <wardestfile="${build}/antwebproject.war"webxml="WebRoot/WEB-INF/web.xml">
           <!-- 拷贝WebRoot下除了WEB-INFMETA-INF的两个文件夹-->
           <filesetdir="WebRoot"includes="**/*.jsp"/>
          
           <!-- 拷贝lib目录下的jar-->
           <libdir="${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的目录下看一下运行结果。
分享到:
评论
1 楼 JQ_AK47 2017-04-30  
谢谢你的ANT 五篇博文让我对Ant了解入门。

相关推荐

    用Ant实现Java项目的自动构建和部署

    用Ant实现Java项目的自动构建和部署

    图解与代码Ant实现Java项目的自动构建和部署

    图解与代码Ant实现Java项目的自动构建和部署

    JAVA_Ant详细介绍与应用

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

    ant入门教程

    但是目前主要被用于Java项目的构建, Ant是用Java语言编写,可以在多个操作系统中运行,目前在绝大部分的Java开源项目中,都选择使用Ant作为构建项目的工具,合理的使用Ant可以大大降低项目构建、部署的难度。...

    ant 构建java web工程

    一个简单的java web 编译打包部署

    Ant构建Java项目之第1篇

    Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。  1.project元素  project元素是Ant构件文件的根元素,Ant构件文件至少应该包含一个...

    Ant脚本详解说明

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。

    Using-Java-API-of-Ant:Using Java API of Ant 是一个小项目,展示了如何使用 Ant Build Tool 的 Java API 在运行时使用 Java 平台构建 Java 项目

    #使用Ant的Java API Using Java API of Ant 是一个迷你项目,展示了如何使用 Ant Build Tool 的 Java API 在运行时使用 Java 平台构建 Java 项目。 它展示了如何使用 Java POJO 代码即时构建另一个 Java 项目,甚至...

    ANT IN ACTION 第2版 中文版

    本书是一本使用Ant进行构建、测试、发布和部署Java项目的完全指南。它是广受赞誉的最佳畅销书《Java Development with Ant》的第2版,Ant是Java项目中使用最广泛的构建工具,它跨平台、可扩展,而且运行高效。无论是...

    Ant基本应用教程学习

    目录 ANT简介 安装Apache Ant 验证Apache Ant的安装 安装 Eclipse ...Ant构建项目 Ant构建文档 Ant创建JAR文件 Ant创建WAR文件 Ant打包应用 Ant部署应用程序 Ant执行Java代码 Ant和Eclipse集成 Ant Junit集成

    Ant命令的简介应用之快速入门

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

    ANT IN ACTION 第2版 中文版.z01

    本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...

    ANT IN ACTION 第2版 中文版.z02

    本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...

    ant_in_action.pdf(ant 实战)second edtion

    本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...

    rant:一个基于ant的使用框架,主要适用于公司java项目的快速构建部署

    rant 一个基于ant的使用框架,主要适用于公司java项目的快速构建部署。

    ant-1.6.5.jar

    Ant是一个基于Java的,将软件工程的编译、测试、部署等步骤联系在一起并加以自动化的构建工具。与make工具有几分相似,但又优化了一些make工具所具有的缺陷。它可以跨平台运行,使用简单方便。 Ant主要用来编译、...

    Java项目开发与毕业设计指导

    安装JDK、配置环境变量,编译java源文件(可以用eclipse自动编译也可以手动命令行下编译),然后命令行下运行如下命令启动服务器端: java rmi.NetS 2000 (端口号为2000) 键入如下命令启动客户端: java...

    ant中集成findbugs任务(含源代码及例子)

    FindBugs提供了集成在Ant中使用的Ant Task,可以在自动构建与部署的时候运行FindBugs。 1. 将$FINDBUGS_HOME/lib/findbugs-ant.jar拷贝到$ANT_HOME/lib目录下以后,就完成了FindBugs的Ant Task的安装。(强烈建议使用...

Global site tag (gtag.js) - Google Analytics