`

(一)Ant Java Project 针对Java项目

    博客分类:
  • Ant
阅读更多
从事Java技术开发以来一直使用Ant进行项目打包、发布工作,却懒于记录自己的心得,最近发现自己脑子不够用,很多东西记不住,还是写写微博记录下来比较好。


Ant是Apache的一个开源项目,大家可以到官网下载最新版本:http://ant.apache.org/

Java的JDK推荐使用1.6 官方网站http://www.oracle.com/technetwork/java/javase/downloads/index.html

具体的环境变量就不详细描述了,本文主要说明如何使用ant进行java project的打包工作。


1. Ant的简单组成:

    build.properties 变量定义文件

    build.xml  程序执行文件

2. Ant使用心得

由于网上有很多Ant的使用教程,这里就不详细说如何使用Ant,只写出个人的使用心得。

build.properties文件举例:
#定义ant存放位置
ant.lib.dir = D:/Tools/apache-ant-1.8.4/lib
#JDK用1.6.0.13以上版本
#JAVA_HOME = C:/Java/jdk1.6.0_18
#发布项目的根目录
release.home = ${basedir}/build/release
# 发布Java jar的根目录
release.lib = ${release.home}/lib

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Expression项目~~~~~~~~~~~~~~~~~~~~~~~~~~~
#项目路径
exp.home = ${basedir}/Expression
#项目名称
exp.name = expression
#项目类路径
exp.src = ${exp.home}/src
exp.antlr = ${exp.home}/antlr-generate
#编译class路径
exp.classes = ${exp.home}/bin
#加载jar包路径
exp.lib = ${exp.home}/lib
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Expression项目~~~~~~~~~~~~~~~~~~~~~~~~~~~


build.xml 文件举例:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="bi" default="release" basedir=".">
	<description>用ANT将项目发布</description>
	<!-- ***********导入需要用到的属性*********** -->
    <property file="${basedir}/build/build.properties" />

	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~发布Expression项目~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	<!-- 需要用到的类库文件,包括工程本身lib目录下的所有jar zip -->
	<path id="exp.classpath">
		<pathelement location="${exp.classes}" />
		<fileset dir="${exp.lib}">
			<include name="*.jar" />
			<include name="*.zip" />
		</fileset>
	</path>

	<!-- 删除历史发布痕迹,创建新的发布所涉及的路径 -->
	<target name="exp.clean">
		<delete dir="${exp.classes}" />
        <mkdir dir="${exp.classes}" />
	</target>

    <!-- 开始编译,打包项目 -->
	<target name="exp.compile" depends="exp.clean">
		<!-- 拷贝不同目录的文件到编译目录底下 -->
		<copy todir="${exp.classes}" overwrite="true">
			<fileset dir="${exp.src}"></fileset>
		</copy>
		<copy todir="${exp.classes}" overwrite="true">
			<fileset dir="${exp.antlr}"></fileset>
		</copy>

        <!-- 编译工程目录【${exp.classes}】下的所有java文件,并将编译好的class文件放在【${exp.classes}】下面。用UTF-8编码 -->
		<javac srcdir="${exp.classes}" destdir="${exp.classes}" encoding="UTF-8" 
		    debug="yes" includeantruntime="on">
			<classpath refid="exp.classpath"/>
        </javac>

		<!-- 将所有的classes打成jar包 -->
		<jar destfile="${release.lib}/${exp.name}.jar">
			<fileset dir="${exp.classes}">
				<exclude name="**/*.java" />
			</fileset>
		</jar>
        <echo message="exp.compile --> 发布 exp.compile 成功" />
	</target>
	<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~发布Expression项目~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

	<target name="release">
		<echo message="-------------------编译Java Project-------------------"/>
		<antcall target="exp.compile"/>
		<echo message="-------------------编译Java Project 完成-------------------"/>
	</target>
</project>


build.properties 文件的最大作用就是定义变量,方便在build.xml里面使用,在变动不大的时候直接修改属性文件,就可以完成相同的其他项目进行打包发布工作。

build.xml 中最主要的是通过<target name="exp.compile" depends="exp.clean">这种方式建立依赖关系,进行一步一步的程序操作,完成一个项目的打包发布。

按照这种方式打包Java项目简单、快捷,相信大家都喜欢。在很多自动化工具盛行的今天我依旧还使用者Ant,也许是懒于学习其他,但我还是喜欢最初的Ant。
分享到:
评论

相关推荐

    ant 打包 java project 为ant

    NULL 博文链接:https://ljhjay.iteye.com/blog/1279610

    java ant-project

    NULL 博文链接:https://lijiang.iteye.com/blog/319650

    Java编写的Ant,实现了上传下载功能

    Java语言编写的ant程序,主要实现了文件的上传与下载功能。

    使用ant从多个SourceFolder的项目中导出jar包的测试项目

    有些项目中存在多个SourceFolder,而我们可能...详情请参考该完整的java项目,或者笔者博文《如何使用ant从多个Source Folder的项目中导出jar包? 》(地址:http://blog.csdn.net/binbinxyz/article/details/7361376)

    Ant构建Java项目之第1篇

     project元素是Ant构件文件的根元素,Ant构件文件至少应该包含一个project元素,否则会发生错误。在每个project元素下,可包含多个target元素。接下来向读者展示一下project元素的各属性。  1)name属性  用于...

    sample-java-project:示例基于Ant的Java项目

    当我开始一个新的Java项目时,我将克隆该存储库,删除我不关心该特定项目的build.xml部分,设置项目属性,清除示例源,然后开始工作。 设置 构建此项目要求常春藤可用于Ant。 您只需要在Ant的类路径中的ivy.jar(在...

    ant1.9资源

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一. 安装与配置 下载地址:...

    ant.jar下载

    org.apache.tools.ant.Project org.apache.tools.zip.ZipFile org.apache.tools.zip.ZipLong org.apache.tools.ant.Executor org.apache.tools.ant.Location org.apache.tools.tar.TarEntry org.apache.tools....

    Apache Ant Tutorial.pdf

    The project is a Java project and consists of many .java files. It consists of classes that are dependent on other classes and classes which are stubs or drivers, they are situated in multiple ...

    Java-Project

    当我开始一个新的Java项目时,我将克隆该存储库,删除我不关心该特定项目的build.xml部分,设置项目属性,清除示例源,然后开始工作。 设置 构建此项目要求常春藤可用于Ant。 您只需要在Ant的类路径中的ivy.jar(在...

    sample-java-project-master:样本

    示例 Java 项目这是设置新的基于 Ant 的 Java 项目的参考。 它包含了我多年来学到的大部分蚂蚁小技巧。 当我开始一个新的 Java 项目时,我会克隆这个存储库,删除我不关心该特定项目的 build.xml 部分,设置项目属性...

    Ant 1.9.2 API (CHM格式)

    Ant是Java程序员的一个好的工具,主要可以帮助程序员进行java项目的的管理,包括批量编译、部署、文档生成等工作,其用途远不止如此,ant内置了大量的API进行各种文件系统操作,在各种应用服务器中都被广泛应用于...

    new_ant_project

    new_ant_project

    apache-ant-1.9.3.rar

    每个构建文件定义一个唯一的项目(Project元素)。每个项目下可以定 义很多目标(target元素),这些目标之间可以有依赖关系。当执行这类目标时,需要执行他们所 依赖的目标。每个目标中可以定义多个任务,目标中还定义...

    ant学习打包代码

    &lt;!--官方网站:http://ant.apache.org/--&gt; &lt;project name="myAntProject" basedir="." default=... &lt;echo message="ant发现Java虚拟机的版本:${ant.java.version}" /&gt; 项目的绝对路径:${basedir}"/&gt; &lt;/project&gt;

    JAVAPROJECT詹金斯

    示例Java项目这是建立新的基于Ant的Java项目的参考。 它包含了这些年来我学到的大多数蚂蚁技巧。 当我开始一个新的Java项目时,我将克隆该存储库,删除我不关心该特定项目的build.xml部分,设置项目属性,清除示例源...

    Android代码-MiniJava

    A modified version of the project three starter is available at src/java/. The clojure code automatically loads class files from classes/ folder. FOR THE TA: To run the tests $ java -jar minijava-...

    Professional Java Tools for Extreme Programming (JAVA经典书籍英文版)_part2

    They then explain how to automate the testing process using JUnit, Cactus, and other tools, and to enhance project management and continuous integration through Maven and AntHill. Finally, they show ...

Global site tag (gtag.js) - Google Analytics