最近在维护一个以前的项目,发现以前发布的时候居然都是手动发布,项目中用到第三方的Jar包,每次要解压、复制,麻烦而且容易出错。于是想起用Ant发布。上网查下资料,简单写了个Demo,里面只用到了Log4j.jar。
工程目录如图,其中dist和build目录是Ant构建过程中生成的:
下面是MainClass的代码:
/** *@author DaiYanming *@create date 2011-12-9 */ package dc; import org.apache.log4j.Logger; public class MainClass { public static void main(String[] args) { Logger logger=Logger.getLogger(MainClass.class); logger.info("信息"); logger.debug("调试"); logger.error("出错啦"); } }
Ant构建文件:
<?xml version="1.0" ?> <project name="testPackage" default="jar"> <property name="jar.name" value="testPackage.jar" /> <property name="dist.home" value="dist" /> <property name="build.home" value="build" /> <property name="lib.home" value="lib" /> <path id="lib_path"> <fileset dir="${lib.home}"> <include name="**/*.jar" /> </fileset> </path> <target name="init"> <mkdir dir="build/classes" /> <mkdir dir="dist" /> </target> <target name="compile" depends="init"> <javac srcdir="src" destdir="build/classes" encoding="utf-8"> <classpath> <path refid="lib_path"/> </classpath> </javac> </target> <target name="prepare" depends="init"> <copy todir="${build.home}/classes/lib"> <fileset dir="${lib.home}"> <include name="**/*.jar" /> </fileset> </copy> <copy todir="${build.home}/classes"> <fileset dir="."> <include name="**/*.properties" /> </fileset> </copy> </target> <target name="jar" depends="compile,prepare" description="Create jar and MANIFEST.MF"> <!-- create a property containing all .jar files, prefix lib/, and seperated with a space --> <pathconvert property="libs.project" pathsep=" "> <mapper> <chainedmapper> <!-- remove absolute path --> <flattenmapper /> <!-- add lib/ prefix --> <globmapper from="*" to="../lib/*" /> </chainedmapper> </mapper> <path> <!-- lib.home contains all jar files, in several subdirectories --> <fileset dir="${lib.home}"> <include name="**/*.jar" /> </fileset> </path> </pathconvert> <!-- create the jar --> <jar destfile="${dist.home}/${jar.name}" basedir="${build.home}/classes"> <!-- define MANIFEST.MF --> <manifest> <attribute name="Built-By" value="${user.name}" /> <attribute name="Main-Class" value="dc.MainClass" /> <section name="common"> <attribute name="Specification-Version" value="${component.version}" /> </section> <!-- finally, use the magically generated libs path --> <attribute name="Class-Path" value="${libs.project}" /> </manifest> </jar> </target> <target name="clean" depends="init"> <delete dir="build" /> <delete dir="dist" /> </target> </project>
在命令行下切换到工程目录,输入ant jar 提示:
E:\javawork\testPackage>ant Buildfile: build.xml init: compile: prepare: [copy] Copying 1 file to E:\javawork\testPackage\build\classes jar: [jar] Building jar: E:\javawork\testPackage\dist\testPackage.jar BUILD SUCCESSFUL Total time: 0 seconds
打包完毕。
相关推荐
标题 "ant编译java工程" 涉及到的是使用Apache Ant工具来构建Java应用程序的过程。Apache Ant是一个基于XML的构建工具,它允许开发者通过声明式的方式定义项目构建任务,而不是采用程序化的方式。在Java开发中,Ant...
Java项目中的Ant打包脚本是开发过程中的一个重要环节,它使得开发者能够自动化构建、测试和部署应用程序。Ant是一个基于XML的构建工具,由Apache软件基金会开发,它在Java社区广泛使用,替代了早期的Makefile,因为...
在Java开发中,将项目打包成JAR文件是常见的需求,它允许我们方便地分发、运行或部署Java应用程序。 **Apache Ant基本概念** 1. **构建文件(Build File)**:Ant使用XML格式的构建文件来定义构建任务和依赖关系,...
Java的Ant打包工具是开发过程中不可或缺的一部分,尤其在构建、部署和自动化任务管理方面发挥着重要作用。Ant是由Apache软件基金会开发的一个开源项目,其设计灵感来源于Make,但使用XML来描述构建过程,使得构建...
在Android应用开发中,构建和打包过程是必不可少的环节,特别是在多渠道发布时,需要针对不同的市场或平台生成定制的APK。Mac环境下,开发者常使用Ant作为构建工具来完成这个任务。Ant是一个基于Java的构建工具,它...
Java Card是一种在智能卡或类似的微控制器设备上运行Java应用程序的技术,而Ant是Apache软件基金会的一个开源项目,是一个基于XML的构建工具,用于自动化Java项目的构建、编译、测试和部署过程。 【描述】提到"Ant ...
在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一.安装与配置 二.Ant的关键元素 三.Ant的常用任务 四.利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用...
Ant(Another Neat Tool)是一个广泛用于Java项目管理的构建工具,尤其适用于那些需要执行诸如编译、测试、打包和部署等任务的项目。Ant的优势在于其灵活性和易用性,它使用XML(可扩展标记语言)来描述构建过程,...
本文将深入探讨“ant打包Web工程”这一主题,基于提供的标签“源码”和“工具”,我们将围绕Apache Ant这个强大的Java构建工具进行讲解。 Apache Ant是一个开源的Java构建工具,它以XML格式定义了构建过程,使得...
在这个过程中,我们将探讨Ant的基本概念、配置文件的结构、以及如何利用它打包Java桌面应用程序。 首先,Ant的核心是它的构建文件,通常命名为`build.xml`。这个文件包含了构建过程的所有指令,比如编译源代码、...
**Ant打包工具详解** Ant是Apache软件基金会Jakarta项目下的一个构建工具,它以其灵活性和可扩展性在Java开发领域中被广泛应用。Ant基于XML,它的主要任务是编译源代码、创建JAR文件、执行测试、部署应用程序等。...
Ant是一个基于Java的构建工具,它使用XML来描述项目构建过程,能够自动化执行编译、测试、打包等任务。下面将详细介绍如何使用Ant来批量打包Android应用。 首先,确保你已经安装了以下基本环境: 1. Java ...
在Android开发过程中,Ant是一个非常重要的工具,它是一个开源的Java构建系统,广泛用于自动化编译、测试和部署Java应用程序,包括Android应用。本篇文章将详细介绍如何使用Ant来打包Android应用,以及涉及到的相关...
描述中提到的链接指向了一个ITEYE博客文章,虽然具体内容未给出,但通常这类文章会介绍如何配置和使用Ant来打包Java项目。可能会涵盖以下内容: 1. **Ant基本概念**:解释Ant的核心元素,如build文件(build.xml)...
4. **打包Java应用程序**:Ant的`<jar>`任务可以将编译后的.class文件打包成JAR文件,这通常是Java应用程序的基础包。你可以设置JAR的manifest文件,指定主类和其他属性。 5. **创建安装程序**:对于可视化的Java...
3. **创建JAR或WAR**:如果项目是Java应用,可以使用`jar`任务打包为JAR文件;如果是Web应用,则使用`war`任务打包为WAR文件。 4. **签名和验证**:对于发布版本,可能需要使用`jarsigner`任务对JAR进行签名,确保其...
在软件开发过程中,Ant 是一个常用的构建自动化工具,它基于 XML 来定义任务,能够编译、测试、打包和部署应用程序。在 Ant 中调用 Java 类是常见的需求,特别是在执行自定义逻辑或需要运行特定 Java 程序时。本文将...
Ant是一个基于XML的构建工具,它的主要任务是编译、测试、打包和部署Java应用程序。通过在构建文件(通常是build.xml)中定义一系列的构建任务,我们可以自动化整个开发流程。 要将Java工程打包为bat文件,我们需要...