今天打算使用一下ant,按照网上找来的教程,先下载了ant1.71版,然后
配置了环境变量 ANT_HOME D:\apache-ant-1.7.1
在Path里加上 D:\apache-ant-1.7.1\bin
开始打包。。
先创建了helloworld的类:
package test.ant;
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello world1");
}
};
然后创建build.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Agent" default="run" basedir="">
<property name="src" value="src" />
<property name="dest" value="classes" />
<property name="hello_jar" value="hello1.jar" />
<path id="lib">
<fileset dir="lib" includes="*.jar"></fileset>
</path>
<target name="init">
<mkdir dir="${dest}" />
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}">
<classpath refid="lib"></classpath>
</javac>
</target>
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}" />
</target>
<target name="run" depends="build">
<java classname="test.ant.HelloWorld
" classpath="${hello_jar}" />
</target>
<target name="clean">
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
</project>
这里解释一下, 先创建一个src文件夹,把helloworld.java放进去,ant开始打包时从最上面的一个
target开始执行,target可以认为是一个任务,每个target执行前都会先执行它所depends的target。
<target name="init">
<mkdir dir="${dest}"/>
</target>
这段是创建classes文件夹
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
这段的意思是把src里面的helloworld.java编译并把生成的class文件放到上一步创建的classes文件夹里。
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
这段的意思是把classes里面的class文件打成jar包,名字叫${hello_jar}变量指定的hello1.jar
<target name="run" depends="build">
<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
</target>
这段的意思是运行,真正把jar包打出来。
<target name="clean">
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
这段的意思是删除classes文件夹和hello1.jar,classes下的文件也被删除了。这一段只是测试删除功能,不是必须的。
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
这段的意思是调用clean和run两个target,演示了如何target的调用,它会将clean和run重新执行一遍。
即使不需要最后两段也可以把jar包打出来了。
分享到:
相关推荐
Ant是一个基于Java的构建工具,它可以用来执行一系列的任务,如编译Java源代码、运行单元测试、部署应用程序等。Ant使用XML文件来定义构建过程,这个XML文件通常被称为构建脚本(build script)。 #### 二、WAR包概念...
Ant是一个基于Java的构建工具,它通过XML描述项目构建规则,使得构建过程可配置且易于自动化。 首先,让我们了解一下Ant。Ant是由Apache软件基金会开发的开源工具,主要用于Java项目的构建和管理。它的核心理念是...
在Java开发过程中,Ant是一个非常重要的构建工具,它允许开发者自动化构建、编译、测试和部署应用程序。本文将深入探讨Ant及其与jar包的关系,帮助Java程序员更好地理解和使用这个强大的工具。 首先,让我们理解...
在Java Web开发中,"Ant打war包过程"是一个关键步骤,它涉及到使用Apache Ant工具将项目打包成一个可部署的WAR(Web Application Archive)文件。Ant是一个基于XML的构建工具,广泛用于自动化Java项目的构建、编译和...
在Java开发过程中,Apache Ant是一个不可或缺的工具,它是一个基于Java的构建工具,主要用于自动化项目的构建、编译、测试和部署等任务。本资源包包含了运行ANT所必需的JAR文件,确保用户能够顺利执行ANT脚本进行...
有些项目中存在多个SourceFolder,而我们可能需要从其中一个SourceFolder中导出jar包。使用ant进行简单的编译打包已经不能满足该需求。笔者经过细心研究,找到了一种可行的解决方案。详情请参考该完整的java项目,...
本示例将介绍如何使用Ant来创建一个ZIP包。 首先,你需要在你的项目中引入Ant。如果你还没有安装,可以从Apache官方网站下载并安装。安装完成后,可以在命令行中使用`ant`命令进行操作。 Ant的构建过程通过一个名...
在Android开发过程中,Ant是一个非常重要的工具,它是一个开源的Java构建系统,广泛用于自动化编译、测试和部署Java应用程序,包括Android应用。本篇文章将详细介绍如何使用Ant来打包Android应用,以及涉及到的相关...
ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三...
在Java开发中,Ant是一个广泛使用的自动化构建工具,它能够帮助开发者编译、打包、测试以及部署应用程序。Ant是基于XML的,通过定义任务(tasks)来执行各种构建过程。在"ant发送邮件依赖jar包.rar"这个压缩文件中,...
总之,使用Ant进行批量多渠道打包Android应用是一个高效的方法,它能够自动化繁琐的手动修改和打包过程,大大节省时间和精力。通过灵活的Ant脚本,你可以轻松地适应不同的市场和统计需求,为你的Android应用带来更...
Ant 是 Apache 软件基金会的一个开源项目,它是一个基于Java的构建工具,类似于Make,但更为现代且专为Java设计。Ant使用XML来描述构建过程,包括编译、测试、打包和部署等任务,使得开发者能够通过简单的脚本进行...
当我们有多个jar包相互依赖时,需要将它们合并成一个单一的jar,以便于部署和使用。Ant是一个流行的Java构建工具,它允许我们通过配置XML文件(build.xml)来执行自动化构建任务,包括jar文件的创建和合并。下面我们...
本篇文章将详细解释如何使用ANT将Java程序打成JAR包。 首先,理解ANT的基本概念是必要的。Apache ANT是一个由Apache软件基金会开发的Java库和命令行工具,其主要任务是驱动构建过程。它的核心概念是构建文件(build...
本文将通过一个简单的 EJB 3.0 示例,记录 Ant 打包 EAR 文件的详细步骤。 EJB 3.0 项目 首先,我们创建一个简单的 EJB 3.0 项目,包括一个 Session Bean 接口和实现类。Session Bean 接口使用了 Java annotations...
5. `ant-apache-oro.jar`: 包含了Apache Jakarta ORO库,它是一个正则表达式和模式匹配库,Ant使用它来进行字符串处理和文本模式匹配任务。 6. `ant-jai.jar`: Java Advanced Imaging (JAI) 库支持图像处理任务,...