我们编译和打包一个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实现Java项目的自动构建和部署。...1.利用Ant的javac任务来编译java程序 2.使用Ant的java任务运行Java程序 3.使用Ant的jar任务生成jar文件 4.使用Ant的war任务打包J2EE Web项目 五.总结
在编译flex/java工程是采用Ant自动编译,将编译好的工程进行打包发布.
一个简单的java web 编译打包部署
本文假设读者具备如下知识:1、熟练ant进行java工程编译(参考本人“ant编译java工程”一 ant结合junit进行软件自动测试 软件测试 持续集成实践三,灵感来自于MartinFowler的“持续集成“一文。可以在...
在编译flex/java工程是采用Ant自动编译,将编译好的工程进行打包发布
./ant.sh build 编译src下所有cpp,在bin目录下生成对应的.o文件文件(类似java-classes生成规则),并链接,生成.bin文件 ./ant.sh run运行生成的.bin文件 ./ant.sh share自动将cpp打包成.so动态库。
Apaceh Ant 用户手册 Java工程编译打包 官方权威教程
ANT 是一个Java TM 项目生成工具 本批处理程序模仿其功能 可以生成Java 工程 可编译Java程序 可运行Tomcat 本程序小巧,移植性好,易扩展 大家可以一起修改,改善其功能
Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。 1. 利用Ant的javac任务来编译java程序 Ant的javac任务用于实现编译Java程序的功能。下面来...
Ant是一个基于Java的,将软件工程的编译、测试、部署等步骤联系在一起并加以自动化的构建工具。与make工具有几分相似,但又优化了一些make工具所具有的缺陷。它可以跨平台运行,使用简单方便。 Ant主要用来编译、...
在Eclipse中使用Jocky也非常简单,任何一个Java工程,选中工程通过右键菜单,都可以出现Jocky的快捷菜单: 在Eclipse中的右键菜单> 在Eclipse中的属性设置> 事实上,在Eclipse中使用Jocky时,Jocky也是...
在你的工程中,目前是否存在某个需求,而所有Ant功能对此都不能予以满足呢?没有问题!你完全可以像James一样,编写自己的Ant任务。没准儿你也能改变这个世界呢! 以上是使用Ant可以完成的一些工作: ·定义构造...
目前主要功能有java工程,包,类的创建和保存,java代码和jsp页面的编辑,会有方便的辅助对话框,显示相关的函数和属性.jsp页面的编辑辅助对话框可以少输入很多代码,Tomcat工程的自动部署和启动.加入两个实用功能,可以...
Builder 给出了使用ant编译Android工程的通用shell脚本,相关博文:Android开发实践:用脚本编译Android工程 GroupList 封装并演示了如何使用Android的ExpandableListView控件,相关博文:Android开发实践:多级...
与FirstJava1.1相比,修改许多问题和功能,并增加二个实用功能, 目前主要功能有java工程,包,类的创建和保存,java代码和jsp页面的编辑,会有方便的辅助对话框,显示相关的函数和属性.jsp页面的编辑辅助对话框可以少输入很...
文件描述: 1.tomcat源码文件 2.tomcat程序文件 ...5.一个tomcat源码在eclipse上运行的java工程 作用: 1.用于学习tomcat源码和了解tomcat运行机制 2.学习如何修改tomcat源码后如何重新编译,打包。
5.新建JAVA Project,把根目录中的Java、test复制到工程中,并设置成build path, 6.引入我提供的JAR包,编译 7.找到Bootstrap.java,debug as>debug configurations>VM arguments:输入-Dcatalina.base="(改成你自己...
Ant是Java平台下非常棒的批处理命令执行程序,能非常方便地自动完成编译,测试,打包,部署等等一系列任务,大大提高开发效率。如果你现在还没有开始使用Ant,那就要赶快开始学习使用,使自己的开发水平上一个新台阶...