最近在维护一个以前的项目,发现以前发布的时候居然都是手动发布,项目中用到第三方的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项目中,让它简化构建和部署操作。 一.安装与配置 二.Ant的关键元素 三.Ant的常用任务 四.利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用...
NULL 博文链接:https://forchase.iteye.com/blog/837863
通过ant对项目的打包,ant的详细介绍与应用
目录 ANT简介 安装Apache Ant 验证Apache Ant的安装 安装 Eclipse Ant构建文件 Ant属性任务 Ant属性文件 Ant数据类型 ...Ant打包应用 Ant部署应用程序 Ant执行Java代码 Ant和Eclipse集成 Ant Junit集成
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,当然不会用平台...本文介绍了android编译和ant打包原理
当应用hudson一类的自动化平台来构建Eclipse插件时,不能直接调用ANT工具来编译。本工具自动修改Eclipse的路径为 ${ECLIPSE_HOME},并且自动可查找相应插件。 使用方法: java -jar buildfileGenerator.jar build....
主要介绍了使用Java操作Ant压缩和解压文件以及批量打包Anroid应用的教程,Ant是一个自动化部署工具,用来处理zip和tar文件非常方便,需要的朋友可以参考下
本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...
本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...
本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...
本文介绍的ant脚本是用来打包jar文件,做完JAVA应用一定会用到这个,需要的朋友可以参考下
中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...
在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式...
在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一. 安装与配置 下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本。解压到某个目录(例如E:"apache-ant-1.7.0),...
当你要将多个应用发布到多个推广渠道的时候,你会针对每一个渠道为android应用添加相应的渠道号,这样工作量会很大。这时你会想:如果有某种...用编译脚本build.xml,2.java调用ant,3.bat批处理文件(也是调用ant)
Ant是Java程序员的一个好的工具,主要可以帮助程序员进行java项目的的管理,包括批量编译、部署、文档生成等工作,其用途远不止如此,ant内置了大量的API进行各种文件系统操作,在各种应用服务器中都被广泛应用于...
本实例采用了两个项目来实现(一个客户端和一个服务器端),并且采用ant进行打包、部署,默认采用oracle11g数据库 客户端可以安装到任何java web服务器中(例如tomcat)或者应用服务器中,服务器端必须部署在应用...