`
tylzhuang
  • 浏览: 55259 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何使用ant

    博客分类:
  • java
阅读更多
第一步:从http://ant.apache.org 下载 apache-ant-1.7.0-bin.zip,解压到你自己的目录,我的:E:\apache-ant-1.7.0

第二步:配置 JAVA_HOME 和 ANT_HOME
配置完成后,打开dos窗口,输入 ant 回车,如果提示:
Buildfile: build.xml does not exist!
Build failed

则说明配置完成

第三步:创建自己的工程
我的工程:test
目录结构:
D:\work\code\test_core\src
D:\work\code\test_core\lib


第四步:编写build.xml
<?xml version="1.0" encoding="UTF-8"?>

<project default="jar" name="test" basedir=".">
  
  <property name="defaulttargetdir" value="./target"></property> 
  <property name="classesdir" value="./target/classes"></property>
  <property name="logsdir" value="./logs"></property>
  <property name="defaulttargetdir" value="./target"></property>
  <property name="final.name" value="test"></property>
  

  <target name="compile" description="o Compile the code" >
    <mkdir dir="${defaulttargetdir}"></mkdir>
    <mkdir dir="${classesdir}"></mkdir>
	<mkdir dir="${logsdir}"></mkdir>

    <javac destdir="${classesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html">
      <src>
        <pathelement location="./src"></pathelement>
      </src>
      <classpath>
        <fileset dir="./lib">
          <include name="*.jar"></include>
        </fileset>
      </classpath>
    </javac>
    
  </target>
    
  <target name="jar" description="o Create the jar" depends="compile">
		<copy todir="${classesdir}">
			<fileset dir="./src">
				<include name="**/*.properties" />
			</fileset>
		</copy>    
    <jar jarfile="./lib/${final.name}.jar" excludes="**/package.html" basedir="${classesdir}"></jar>

  </target>
  
  <target name="clean" description="o Clean up the generated directories">
    <delete dir="${classesdir}"></delete>
	<delete file="${lib.dir}/${webapp.name}.jar" />
  </target>



</project>
    



打开dos窗口,进入D:\work\code\test_core\目录,输入ant jar 回车
则test.jar 文件将会被输出到 lib目录下
如果仅仅是编译java源文件,你可以使用 ant compile命令,classes文件将会被输出到 target/classes目录下,如果你在src下有以properties结尾的配置文件,则配置文件将也会被拷贝到 target/classes 目录下,起作用的是:
<copy todir="${classesdir}">
<fileset dir="./src">
<include name="**/*.properties" />
</fileset>
</copy>

web工程:
D:\work\code\test_web\src
D:\work\code\test_web\lib
D:\work\code\test_web\web

build.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="testweb" basedir="." default="">
	<property name="webapp.name" value="testweb" />
	<property name="webapp.version" value="1.0" />
	<property name="lib.dir" value="${basedir}/lib" />
	<property name="dist.dir" value="${basedir}/dist" />
	<!-- The target directory for building the unpacked web application -->
	<property name="build.dir" value="${basedir}/build" />
	<property name="classes.dir" value="${basedir}/build/classes" />
	<!-- The target directory for building the packed web application -->
	<property name="webapp.dist" value="${dist.dir}" />
	<!-- The target directory for building the unpacked web application -->
	<property name="webapp.target" value="${build.dir}/web" />
	<property environment="env" />
	<property name="tomcat.home" value="D:/tomcat-5.5.23" />

	<target name="init" description="defines custom tasks">
	</target>
	  <path id="tomcat.classpath">
		<pathelement location="${tomcat.home}/common/lib/servlet-api.jar"/>
	  </path>
	<!-- Check timestamp on files -->
	<target name="prepare" depends="init" description="create target directories">
		<tstamp>
			<format property="copyright.year" pattern="yyyy" />
		</tstamp>
		<echo message="Preparing target directory '${webapp.target}'" />
		<mkdir dir="${lib.dir}" />
		<mkdir dir="${dist.dir}" />
		<mkdir dir="${build.dir}" />
		<mkdir dir="${classes.dir}" />
		<mkdir dir="${webapp.target}" />
		<mkdir dir="${webapp.target}/WEB-INF" />
		<mkdir dir="${webapp.target}/WEB-INF/lib" />
		<mkdir dir="${webapp.dist}" />

	</target>

	<!-- List of variables in .properties files that will be replaced at
         build time -->
	<filterset id="variables.to.replace">
		<filter token="APPNAME" value="${webapp.name}" />
	</filterset>

	<!-- Copy any resource or configuration files -->
	<target name="compile" depends="prepare" description="compile source directory">
		<echo message="compileing ${webapp.name} ..." />
 
		<copy todir="${classes.dir}">
			<fileset dir="${basedir}/src">
				<include name="**/*.properties" />
 
			
			</fileset>
		</copy>
 		
		
		<javac srcdir="${basedir}/src" destdir="${classes.dir}">
			<include name="**/*.java" />
			<classpath>
				<fileset dir="${basedir}/web/WEB-INF/lib">
					<include name="*.jar">
					</include>
				</fileset>
			</classpath>
            <classpath refid="tomcat.classpath"/>
		</javac>
	</target>
	<!-- Copy any resource or configuration files -->
	<target name="jar" depends="compile" description="jar ">
		<echo message="jar ${webapp.name}.jar  ..." />
		<jar jarfile="${lib.dir}/${webapp.name}.jar">
			<fileset dir="${classes.dir}" includes="**" />
		</jar>	
	</target>
	<!-- Simple alias to package-web -->
	<target name="war" depends="jar" description="alias for package-web">
		<echo message="war {webapp.name} ..." />
		<copy todir="${webapp.target}/WEB-INF">
			<fileset dir="${basedir}/web/WEB-INF">
				<include name="*.xml" />
			</fileset>
		</copy>
		<copy todir="${webapp.target}/WEB-INF/lib">
			<fileset dir="${lib.dir}">
				<include name="**/*.jar" />
			</fileset>
			<fileset dir="${basedir}/web/WEB-INF/lib">
				<include name="**/*.jar" />
			</fileset>
		</copy>

		<copy todir="${webapp.target}">
			<fileset dir="${basedir}/web">
				<include name="**/*.html" />
				<include name="**/*.htm" />
				<include name="**/*.vm" />
				<include name="**/*.jsp" />
				<include name="**/*.txt" />
				<include name="**/*.zip" />
				<include name="**/*.gif" />
				<include name="**/*.jpg" />
				<include name="**/*.png" />
				<include name="**/*.js" />
				<include name="**/*.css" />
				<include name="**/*.htc" />
				<include name="**/*.dwt" />
				<include name="**/*.cert" />
				<include name="**/*.jnlp" />
				<include name="**/*.xml" />
				<include name="**/*.tld" />
				<!--include name="**/*.properties" /-->
			</fileset>
		</copy>
		<echo message="Packaging ${webapp.name}'s web archive file ..." />
		<delete file="${webapp.dist}/${webapp.name}.war" />
		<jar jarfile="${webapp.dist}/${webapp.name}.war">
			<fileset dir="${webapp.target}" includes="**" />
		</jar>

	</target>

	<target name="deploy" depends="compile,war" if="tomcat.home" description="unwar into the servlet container's deployment directory">

		<unwar src="${webapp.dist}/${webapp.name}.war" dest="${tomcat.home}/webapps/${webapp.name}" />
	</target>
	<target name="undeploy" if="tomcat.home" description="undeploy war file to servlet container's deployment dir">
		<echo message="Undeploying webapp from Tomcat" />
		<delete file="${tomcat.home}/webapps/${webapp.war}" />
		<delete dir="${tomcat.home}/webapps/${webapp.name}" />
	</target>
	<target name="clean">
		<echo message="cleaning ${build.dir} and ${dist.dir} ... " />
		<delete dir="${build.dir}" />
		<delete dir="${dist.dir}" />
		<delete file="${lib.dir}/${webapp.name}.jar" />
	</target>
</project>
分享到:
评论
1 楼 longzhinilin 2008-12-02  
正在学习中,感觉挺难的!

相关推荐

    使用Ant进行java开发

    4. Ant的任务和目标:学习如何编写和使用Ant预定义的任务,如(编译Java源代码)、(创建jar文件)、(复制文件或目录)、(执行外部程序)等。目标是Ant中任务执行的最小单位,一个构建文件可以包含多个目标,目标...

    ruoyi-cloud前端工程,使用ant design vue框架

    使用Ant Design Vue作为基础,Ruoyi-Cloud提供了良好的可扩展性和定制性。开发者可以根据项目需求,调整组件样式,或者通过自定义主题来实现企业级的品牌一致性。同时,由于Vue.js的组件化特性,使得代码复用和维护...

    [转]使用Ant管理配置Weblogic

    【标题】:“使用Ant管理配置Weblogic” 【描述】: 这篇博客主要讲述了如何利用Apache Ant工具来自动化管理Weblogic服务器的部署与配置过程。Ant是一个Java库和命令行工具,其设计目标是驱动构建过程,它允许开发...

    使用ant编译生成flex的swc文件

    本文将深入探讨如何使用Ant工具来编译生成Flex的SWC文件,以此解决传统方式带来的繁琐和不便。 首先,让我们了解基本概念。`Ant`是一款由Apache软件基金会开发的Java构建工具,它基于XML编写构建脚本,可以跨平台...

    使用ant打war包

    ### 使用Ant构建WAR包详解 在Java开发领域中,Ant是一种非常流行的自动化构建工具,它可以帮助开发者自动完成项目构建过程中的各种任务,如编译、测试、打包等。本篇文章将详细阐述如何使用Ant来构建WAR(Web ...

    使用ant打包android

    本篇文章将详细介绍如何使用Ant来打包Android应用,以及涉及到的相关知识点。 首先,理解Ant的基本概念是必要的。Ant基于XML,通过构建文件(通常命名为build.xml)来定义构建任务。这些任务可以包括编译源代码、...

    使用ant 元件所用的 jar 包

    为了使用Ant,你需要确保你的环境已经安装了Java,并且在系统路径中包含了Ant的bin目录。然后,通过运行`ant`命令,Ant会解析build.xml文件并执行其中定义的任务。 总结一下,Ant是一个强大的构建工具,通过XML配置...

    使用Ant进行Java开发

    ### 使用Ant进行Java开发 #### 一、Ant简介与安装 **Ant**(Apache Ant)是一种流行的Java构建工具,主要用于自动化软件编译、测试、部署等过程。它使用XML格式来定义构建规则,并通过一系列预定义的任务来执行...

    如何使用ANT开发Java程序

    ### 如何使用ANT开发Java程序 #### 一、前言 Apache Ant 是一款开源的Java构建工具,用于自动化软件构建过程中的编译、测试、部署等任务。它使用XML格式来定义构建规则,并通过一系列预定义的任务来执行这些规则。...

    Ant入门教程,使用Ant自动生成JAR文件

    **Ant入门教程——使用Ant自动生成JAR文件** Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它是Java开发中的一个重要工具,尤其在自动化构建、编译、测试和部署应用程序时。本教程将带你深入了解Ant...

    使用ANT远程发布Web项目

    ### 使用ANT远程发布Web项目 #### 一、概述 在软件开发过程中,自动化构建与部署是提高开发效率、减少人为错误的重要手段之一。Apache Ant 是一个用于自动化软件编译、测试、部署等过程的Java库及命令行工具,它...

    使用ANT所需jar包

    在使用ANT时,你需要在类路径(classpath)中包含这些JAR文件,以便ANT在运行时能找到并加载所需的库。这可以通过在ANT的`&lt;classpath&gt;`标签中指定JAR文件的位置来实现。例如: ```xml &lt;path id="ant.classpath"&gt; ...

    AntTest演示工程,演示如何使用Ant编译Android工程

    总结来说,"AntTest演示工程"是一个实用的教学案例,它通过实际的项目展示了如何使用Ant工具来管理Android应用程序的构建过程。通过学习和实践这个工程,开发者可以深入理解Ant在Android开发中的应用,提升自己的...

    使用Ant打包 来调用properties 文件

    本文将深入探讨如何使用Ant来打包项目,并调用properties文件,以实现配置的动态管理。 Ant是基于XML的,它的主要任务定义在名为build.xml的文件中。这个文件描述了构建过程中的各个目标和任务,以及它们之间的依赖...

    在开发工具外编译java,使用ant技术

    在提供的压缩包"ANT"中,可能包含了Ant的使用示例、构建文件模板以及一些关于如何配置和使用Ant的文档。通过研究这些资料,你可以更深入地了解如何在不依赖IDE的情况下使用Ant来管理Java项目的构建过程。无论是新手...

    mac下ant打包android

    Mac环境下,开发者常使用Ant作为构建工具来完成这个任务。Ant是一个基于Java的构建工具,它通过XML描述项目构建规则,使得构建过程可配置且易于自动化。 首先,让我们了解一下Ant。Ant是由Apache软件基金会开发的...

    android 使用ant自动打包apk

    - 使用Ant的`javac`任务来编译Java源代码。这将包括项目的src目录下的所有源文件。 - 可以通过`&lt;javac&gt;`标签指定源代码路径、目标版本和输出目录。 5. **处理资源文件** - Android应用的资源需要被处理并打包到...

    使用Ant批量多渠道打包Android

    本资源将详细介绍如何使用Ant进行批量多渠道打包Android应用。 首先,你需要在你的项目中集成Ant。这通常意味着在项目根目录下创建一个名为`build.xml`的Ant构建文件。这个文件是Ant的配置中心,它定义了构建过程中...

Global site tag (gtag.js) - Google Analytics