我们编译和打包一个java工程需要用javac、jar、java命令,我们现在举个使用ant打包和运行java项目的例子,在写之前需要了解ant对应的javac、jar、java对应的任务
javac任务
用于编译一个或一组java文件,属性如下:
srcdir表示源程序的目录。
destdir表示class文件的输出目录。
includes表示被编译的文件。
excludes表示被排除的文件。
classpath表示所使用的类路径。
debug表示包含的调试信息。
optimize表示是否使用优化。
verbose 表示提供详细的输出信息。
fileonerror表示当碰到错误就自动停止。
deprecation表示的是提供详细的废弃错误信息,以表明那些类和调用时废弃的
excludes属性表示的是在源码目录srcdir中只编译除excludes之外的源码
用法如图:
includes属性表示的是在源码目录srcdir中只编译includes指定源码,其他的不编译
用法如图:
javadoc任务
用来生成html帮助文档
生成文档如下:
jar任务
用来生成一个JAR文件,属性如下
destfile表示JAR文件名
basedir表示被归档的文件目录
includes表示被归档的文件
excludes表示被排除的文件
java任务
用来执行编译生成的.class文件,其属性如下
classname 表示将执行的类名
jar表示包含该类的JAR文件名
classpath所表示用到的类路径
fork表示在一个新的虚拟机中运行该类
failonerror表示当出现错误时自动停止
output 表示输出文件
append表示追加或者覆盖默认文件。
执行的参数用嵌套的<arg>
完整的build.xml内容为:
<?xml version="1.0" encoding="UTF-8"?> <!--测试使用ant打包java程序,并运行--> <project basedir="." default="runJava" name="jarTest"> <!--定义打包项目基本信息--> <property name="project_name" value="测试ant打包" /> <property name="version" value="1.0" /> <property name="date" value="2013-05-04" /> <property name="author" value="流浪鱼" /> <!--定义路径--> <property name="src.dir" value="src" /> <property name="build.dest" value="${basedir}/build_ant/dest" /> <property name="build.dest.classes" value="${basedir}/build_ant/dest/classes" /> <property name="build.dest.jar" value="${basedir}/build_ant/dest/jar" /> <property name="jar.name" value="test.jar" /> <target name="clear"> <description>删除ant构建时生成文件夹</description> <delete dir="${build.dest}"/> </target> <target name="init" depends="clear"> <description>创建构建需要文件夹</description> <echo message="---${project_name} ${version} [${date}] by [${author}]---" /> <mkdir dir="${build.dest}" /> <mkdir dir="${build.dest.classes}" /> <mkdir dir="${build.dest.jar}" /> </target> <target name="compile" depends="init"> <description>编译java程序</description> <javac srcdir="${src.dir}" destdir="${build.dest.classes}" encoding="UTF-8"/> </target> <target name="buildJar" depends="compile"> <description>打包java程序</description> <!--没有指定主方法 <jar destfile="${build.dest.jar}/${jar.name}" basedir="${build.dest.classes}" /> --> <jar destfile="${build.dest.jar}/${jar.name}" basedir="${build.dest.classes}" > <manifest> <attribute name="Main-class" value="Test" /> </manifest> </jar> </target> <!-- <target name="runJava" depends="buildJar"> <description>运行java程序</description> <java classname="com.test.Test" classpath="${build.dest.jar}/${jar.name}"/> </target> --> <target name="runJava" depends="buildJar"> <description>运行java程序</description> <java classname="com.test.Test" > <classpath> <!-- 使用编译类后的class所在文件夹 <pathelement path="${build.dest.classes}" /> --> <!--使用jar文件--> <pathelement path="${build.dest.jar}/${jar.name}" /> </classpath> </java> </target> </project>
测试项目见附件
相关推荐
介绍了如何通过ant进行java web工程的编译操作的详细配置
学习Ant编译Android工程有助于开发者理解构建过程的底层细节,对优化构建效率、理解和调试构建问题有一定的帮助。同时,这也是一种对历史技术的回顾,对于资深开发者来说,了解和掌握不同构建工具的优缺点是十分...
Apache Ant是Java开发中不可或缺的自动化构建工具,它在软件工程领域扮演着重要角色...对于“ant编译1.9版本”的学习,意味着掌握了一种有效管理和自动化Java项目开发的方法,这对于提升开发效率和维护性具有重要意义。
### Ant编译打包Android工程流程详解 #### 一、Ant编译打包步骤 在深入了解Ant如何帮助我们构建Android项目之前,我们先来了解整个编译打包的过程。 1. **使用aapt为项目资源生成R.java文件** - **工具介绍**:...
包含文档和项目实例。 用Ant实现Java项目的自动构建和部署。...1.利用Ant的javac任务来编译java程序 2.使用Ant的java任务运行Java程序 3.使用Ant的jar任务生成jar文件 4.使用Ant的war任务打包J2EE Web项目 五.总结
本文将深入探讨如何使用Ant将Java工程打包成bat可执行文件,并结合提供的`antBatTest`压缩包中的示例进行说明。 首先,我们需要了解Ant的基本概念。Ant是一个基于XML的构建工具,它的主要任务是编译、测试、打包和...
一个简单的java web 编译打包部署
- **编写目的**:本文档旨在指导软件发布人员如何正确安装与配置Apache Ant,解决在安装与使用过程中可能遇到的问题,确保能够顺利地使用Ant对Flex/Java工程项目进行自动化编译与打包。 #### 二、环境说明 - **Ant...
本文假设读者具备如下知识:1、熟练ant进行java工程编译(参考本人“ant编译java工程”一 ant结合junit进行软件自动测试 软件测试 持续集成实践三,灵感来自于MartinFowler的“持续集成“一文。可以在...
#### 一、Ant编译技术概述 Ant是一种Java平台下的构建工具,主要用于自动化构建过程中的编译、测试、打包等任务。使用Ant进行编译相比于传统的Eclipse IDE编译有诸多优势,比如提高了项目的开发效率,尤其是在大型...
本话题聚焦于“使用Flex Ant Tasks编译工程文件”,这是一个关于如何使用Apache Ant结合Flex工具集来构建Flex应用程序的过程。Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程,而Flex Tasks则是专门为...
在`src`目录下,通常存放着Java源代码,Ant会编译这些源代码并生成对应的class文件。Ant通过`<javac>`任务来完成编译操作,可以指定源代码路径、目标目录、编译选项等。 打包Web应用通常涉及生成WAR(Web Archive)...
#### 一、Ant与Java编译机制 在深入探讨Ant之前,我们首先回顾一下Java编译器(javac.exe)的基本功能及其局限性。Java编译器具备一种称为“make机制”的特性,即根据源代码中的声明和类型信息,配合`import`指令,...
【标题】"ant学习测试工程源码"是一个Java开发的学习项目,主要目的是教授如何使用Apache Ant作为构建工具来管理基于Spring、Hibernate和JUnit的软件工程。Ant是一个流行的开源构建工具,它允许开发者通过XML配置...
"ant自动发布工程"是指利用Ant的脚本化特性,实现对Java工程的自动化发布流程,极大地提高了开发效率和减少了手动操作的错误。下面将详细阐述Ant在自动发布工程中的核心知识点。 1. **Ant基本概念** - **构建文件...
本篇文章将详细介绍如何使用Ant工具将Java工程打包成可执行的JAR文件。 首先,我们需要了解Ant的安装和配置。Ant可以在其官方网站Apache Ant上下载最新版本,然后将其解压缩。在Windows环境下,需要配置环境变量,...