`
weigang.gao
  • 浏览: 482367 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

利用Ant构建部署Java工程

 
阅读更多

利用Ant构建和部署Java工程

Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。

1. 利用Ant的javac任务来编译java程序

Ant的javac任务用于实现编译Java程序的功能。下面来看一个简单的例子:

首先我们建立名为antstudy的Java工程,建立src目录为源代码目录,在src目录下建立HelloWorld.java这个类文件。该类文件的内容如下:

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

同时在antstudy工程的根目录下建立build.xml文件,在该文件中编译src目录下的java文件,并将编译后的class文件放入build/classes目录中,在编译前,需清除classes目录,该文件的内容如下:

<?xml version="1.0"?>
<project name="javacTest"default="compile" basedir=".">
    <target name="clean">
       <delete dir="build"/>
    </target>

    <target name="compile" depends="clean">
       <mkdir dir="build/classes"/>
    <javac srcdir="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"?>
<project name="javaTest" default="run" basedir=".">
    <target name="clean">
       <delete dir="build"/>
    </target>

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

    <target name="run" depends="compile">
       <java classname="HelloWorld">
           <classpath>
              <pathelement path="build/classes"/>
           </classpath>
       </java>
    </target>
</project>

 运行该build.xml文件,可在控制台看到HelloWorld的main方法的输出。

 

3. 使用Ant的jar任务生成jar文件

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

<target name="jar" depends="run">
<jar destfile="helloworld.jar" basedir="build/classes">
           <manifest><!--这里的作用是在MANIFEST.MF文件中添加Main-class: HelloWorld,说明该类为主类并且执行该jar文件也会简单很多,否则在终端执行该jar文件需要输入很长的命令-->
              <attribute name="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"?>
<project name="AntStudy" default="war" basedir="."><!--basedir="."指build.xml所在的目录,这里指工程目录-->
	<property name="classes" value="build/classes" />
	<property name="build" value="build" />
	<property name="lib" value="WebContent/WEB-INF/lib" />
	<!--删除build路径-->
	<target name="clean">
		<delete dir="build" /><!--删除AntStudy工程目录下build目录-->
	</target>
	<!--建立build/classes路径,并编译class文件到build/classes路径下-->
	<target name="compile" depends="clean">
		<mkdir dir="${classes}"/><!--在工程AntStudy工程目录下创建build/classes目录结构-->
		<javac srcdir="src" destdir="${classes}" /><!--编译工程目录下的src中的java文件,生成的class文件包保存到build/classes中-->
	</target>
	<!--打war包-->
	<target name="war" depends="compile">
		<war destfile="${build}/AntStudy.war" webxml="WebContent/WEB-INF/web.xml">
			<!--拷贝WebContent下除了WEB-INF和META-INF-->
			<fileset dir="WebContent" includes="**/*.jsp" />
			<!--拷贝lib目录下的jar包-->
			<lib dir="${lib}"/>
			<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开发者的绝佳帮手。

分享到:
评论

相关推荐

    ant 构建java web工程

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

    JAVA_Ant详细介绍与应用

    包含文档和项目实例。...利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用Ant的java任务运行Java程序 3.使用Ant的jar任务生成jar文件 4.使用Ant的war任务打包J2EE Web项目 五.总结

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

    利用 Ant 构建和部署 Java 工程 在实际项目中,build.xml 文件会变得更为复杂,包含多个 target,分别对应不同的构建阶段,如清理、编译、测试、打包和部署等。每个阶段可能涉及到多个 task 的执行。例如,一个简单...

    java安装程序,利用Ant构建打包工具

    下面将详细阐述如何利用Ant构建打包工具,以及如何创建可视化的Java安装程序。 1. **Java环境基础**:首先,确保你已经安装了Java Development Kit (JDK),因为Ant是用Java编写的,需要JDK运行环境。同时,Java应用...

    ant编译java工程

    标题 "ant编译java工程" 涉及到的是使用Apache Ant工具来构建Java应用程序的过程。Apache Ant是一个基于XML的构建工具,它允许开发者通过声明式的方式定义项目构建任务,而不是采用程序化的方式。在Java开发中,Ant...

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

    本文将深入讲解如何利用Ant来实现Java项目的自动构建和部署,包括对J2ME和J2EE项目的处理。我们将通过两个简单实例,一步步引导你熟悉Ant的使用。 首先,理解Ant的基本概念是至关重要的。Ant是一个基于XML的构建...

    利用ant脚本 自动构建svn增量.docx

    **编写Ant构建脚本** - **目录结构**:构建脚本通常包含源代码目录(src)、目标目录(dest)、输出目录(dist)等,用于存放不同阶段的文件。 - **脚本内容**:定义目标(target)和任务(task),如`checkout`用于...

    ant打包部署工具,官方下载

    Ant是Apache软件基金会下的一个开放源代码项目,它是一个基于Java的构建工具,主要用于自动化构建、测试和部署Java应用程序。Ant以其灵活性和可扩展性在Java开发者中广受欢迎,它通过XML格式的构建文件(build.xml)...

    ant构建以及基本运用

    《Ant构建及其基本应用》 Ant是Apache软件基金会下的一个项目,它是一个Java构建工具,主要用来自动化构建Java应用程序。Ant以其灵活性和可扩展性在Java开发领域中占据了重要的地位,尤其是在大型项目或者团队协作...

    ant-javacard-master_antjava_Will_

    Java Card是一种在智能卡或类似的微控制器设备上运行Java应用程序的技术,而Ant是Apache软件基金会的一个开源项目,是一个基于XML的构建工具,用于自动化Java项目的构建、编译、测试和部署过程。 【描述】提到"Ant ...

    Ant部署WebService服务

    在IT行业中,Ant是Apache软件基金会的一个开源项目,它是一个基于Java的构建工具,主要用于自动化构建、测试和部署Java项目。本主题将深入探讨如何使用Ant来部署WebService服务。 WeberService是一种在网络上通过...

    使用Ant进行java开发

    Ant(Another Neat Tool)是一个广泛用于Java项目管理的构建工具,尤其适用于那些需要执行诸如编译、测试、打包和部署等任务的项目。Ant的优势在于其灵活性和易用性,它使用XML(可扩展标记语言)来描述构建过程,...

    Ant 项目构建教程

    Ant 是一个由 Apache 开发的 Java 项目构建工具,它简化了构建、编译、测试和部署Java应用程序的过程。Ant 是基于XML的,其核心文件是`build.xml`,它包含了构建过程的所有指令和配置。 **构建Ant环境** 在使用Ant...

    ant.rar java的架包ant

    《Ant——Java开发中的构建工具》 Ant是Java开发领域中的一款强大且广泛应用的构建工具,它由Apache软件基金会开发并维护。Ant以其XML为基础的构建文件(build.xml)著称,该文件定义了项目的构建过程,包括编译、...

    ant java ant

    Ant是由Apache软件基金会开发的一款开源构建工具,主要用于Java项目的构建、编译、测试和部署。它的设计灵感来源于Make,但采用了XML格式来定义构建过程,使得构建脚本具有更好的可读性和跨平台性。Ant的核心概念是...

    ant 构建AXIS2

    Apache Ant 是一个Java库和命令行工具,其任务是驱动构建过程。它是Java世界中广泛使用的构建工具,类似于其他语言中的Make或Unix的shell脚本。Ant基于XML,允许开发者定义构建文件,其中包含了编译、创建JAR、运行...

    Ant远程部署tomcat脚本

    Apache Ant是一个基于Java的构建工具,它通过XML文件定义任务,用于自动化项目的构建、部署和管理。在Java Web开发中,Ant经常被用来打包、测试和部署Web应用。本文将详细介绍如何使用Ant脚本来实现远程部署到Tomcat...

Global site tag (gtag.js) - Google Analytics