`

Ant 打包java应用

阅读更多

最近在维护一个以前的项目,发现以前发布的时候居然都是手动发布,项目中用到第三方的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

 

打包完毕。

 

  • 大小: 6.7 KB
分享到:
评论

相关推荐

    ant编译java工程

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

    java项目ant打包脚本

    Java项目中的Ant打包脚本是开发过程中的一个重要环节,它使得开发者能够自动化构建、测试和部署应用程序。Ant是一个基于XML的构建工具,由Apache软件基金会开发,它在Java社区广泛使用,替代了早期的Makefile,因为...

    ant 打包 java project 为ant

    在Java开发中,将项目打包成JAR文件是常见的需求,它允许我们方便地分发、运行或部署Java应用程序。 **Apache Ant基本概念** 1. **构建文件(Build File)**:Ant使用XML格式的构建文件来定义构建任务和依赖关系,...

    java的Ant打包工具

    Java的Ant打包工具是开发过程中不可或缺的一部分,尤其在构建、部署和自动化任务管理方面发挥着重要作用。Ant是由Apache软件基金会开发的一个开源项目,其设计灵感来源于Make,但使用XML来描述构建过程,使得构建...

    mac下ant打包android

    在Android应用开发中,构建和打包过程是必不可少的环节,特别是在多渠道发布时,需要针对不同的市场或平台生成定制的APK。Mac环境下,开发者常使用Ant作为构建工具来完成这个任务。Ant是一个基于Java的构建工具,它...

    ant-javacard-master_antjava_Will_

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

    JAVA_Ant详细介绍与应用

    在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一.安装与配置 二.Ant的关键元素 三.Ant的常用任务 四.利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用...

    ant打包Web工程

    本文将深入探讨“ant打包Web工程”这一主题,基于提供的标签“源码”和“工具”,我们将围绕Apache Ant这个强大的Java构建工具进行讲解。 Apache Ant是一个开源的Java构建工具,它以XML格式定义了构建过程,使得...

    用Ant为Java桌面应用程序打包

    在这个过程中,我们将探讨Ant的基本概念、配置文件的结构、以及如何利用它打包Java桌面应用程序。 首先,Ant的核心是它的构建文件,通常命名为`build.xml`。这个文件包含了构建过程的所有指令,比如编译源代码、...

    Ant批量打包Android应用

    Ant是一个基于Java的构建工具,它使用XML来描述项目构建过程,能够自动化执行编译、测试、打包等任务。下面将详细介绍如何使用Ant来批量打包Android应用。 首先,确保你已经安装了以下基本环境: 1. Java ...

    使用ant打包android

    在Android开发过程中,Ant是一个非常重要的工具,它是一个开源的Java构建系统,广泛用于自动化编译、测试和部署Java应用程序,包括Android应用。本篇文章将详细介绍如何使用Ant来打包Android应用,以及涉及到的相关...

    ant打包工具

    **Ant打包工具详解** Ant是Apache软件基金会Jakarta项目下的一个构建工具,它以其灵活性和可扩展性在Java开发领域中被广泛应用。Ant基于XML,它的主要任务是编译源代码、创建JAR文件、执行测试、部署应用程序等。...

    ant打包

    描述中提到的链接指向了一个ITEYE博客文章,虽然具体内容未给出,但通常这类文章会介绍如何配置和使用Ant来打包Java项目。可能会涵盖以下内容: 1. **Ant基本概念**:解释Ant的核心元素,如build文件(build.xml)...

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

    4. **打包Java应用程序**:Ant的`&lt;jar&gt;`任务可以将编译后的.class文件打包成JAR文件,这通常是Java应用程序的基础包。你可以设置JAR的manifest文件,指定主类和其他属性。 5. **创建安装程序**:对于可视化的Java...

    ant打包详细教程

    3. **创建JAR或WAR**:如果项目是Java应用,可以使用`jar`任务打包为JAR文件;如果是Web应用,则使用`war`任务打包为WAR文件。 4. **签名和验证**:对于发布版本,可能需要使用`jarsigner`任务对JAR进行签名,确保其...

    ant调用java类

    在软件开发过程中,Ant 是一个常用的构建自动化工具,它基于 XML 来定义任务,能够编译、测试、打包和部署应用程序。在 Ant 中调用 Java 类是常见的需求,特别是在执行自定义逻辑或需要运行特定 Java 程序时。本文将...

    使用Ant将java工程打包成bat可执行性文件

    Ant是一个基于XML的构建工具,它的主要任务是编译、测试、打包和部署Java应用程序。通过在构建文件(通常是build.xml)中定义一系列的构建任务,我们可以自动化整个开发流程。 要将Java工程打包为bat文件,我们需要...

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

    3. **打包JAR/WAR**:Ant能够将编译后的类文件和其他资源打包成JAR或WAR文件,这对于创建可分发的Java应用或Web应用至关重要。 4. **运行测试**:Ant支持JUnit和其他测试框架,可以自动化执行单元测试和集成测试,...

Global site tag (gtag.js) - Google Analytics