听说过Ant的大名,一直没有机会学习和使用。用了一个晚上,网上搜集了一些资料,勉强编译了几个Demo,算是初识Ant吧。
附件中为zhanghongliang_cyj博客提供的资料,写的很好,很详细。大家可以参阅一下。
他的博客地址:http://zhanghongliang-cyj.iteye.com/blog/677292
一些心得:
对一个Ant的门外汉来说,关心的问题其实很简单,就几个而已。
1.Ant是什么,怎么安装
2.Ant的核心是一个xml,xml的格式怎样。
3.Ant执行的流程是什么,和javac的区别和共同点是什么?
4.使用Ant如何编译一个不引用jar包的工程,引用其他jar包的工程又怎样编译?
问题1、2网上很多答案,也可以参考附件。
关于问题3:
Ant和Maven等其他编译工具其实都一样,主要是一个Task的概念,每一个Task的目的就是要达到一个Target。
运行代码,无非就是初始化环境(init)、编译(compile,build)、发布(archive)、打包(archive)、运行(run)。
要完成某一个步骤,必须完成前面的步骤。这一点,无论javac还是ant等工具,过程都是一样的。
只不过通过Ant,你可以在build.xml中按照顺序定义这几个操作,并且通过depends属性,指定这个步骤所依赖的步骤,省去了大部分的重复的操作。
4.使用Ant编译不引入Jar包的工程,很简单。当项目依赖除java的jre以外的一些jar包的时候,编译就出了很多乱子。
为了解决这个问题,参考了zhaoqiangster的博客,他的博客网址如下:http://zhaoqiangster.iteye.com/blog/317085。
结合我的build.xml代码,说明一下。
<?xml version="1.0" ?>
<project name="structured" default="archive" >
<target name="init">
<mkdir dir="build/classes" />
<mkdir dir="dist" />
</target>
<path id="project.classpath">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="compile" depends="init" >
<javac srcdir="src" destdir="build/classes">
<classpath refid="project.classpath"></classpath>
</javac>
<!--the srcdir here notify the java fiels you want to compile-->
</target>
<target name="archive" depends="compile" >
<jar destfile="dist/zhouyangpj.jar" basedir="build/classes" />
</target>
<target name="clean" depends="init">
<delete dir="build" />
<delete dir="dist" />
</target>
</project>
解决引用jar包编译,其实很简单。通过定义path,设定了jar包所在的路径(即lib文件夹),并通过**/*.jar批量引入这个文件夹下所有的jar包。
在编译java文件的时候,在引入jar包的路径,从而保证了编译的正常执行。
如:<classpath refid="project.classpath"></classpath>这段。
至此,4个问题得到解决。
分享到:
相关推荐
ant脚本编译出jar
ant 编译jar包
拷贝下面这些jar包到ant_home/lib org.eclipse.jdt.compiler.tool_1.1.0.v20150513-2007 org.eclipse.jdt.core_3.11.0.v20150602-1242 org.eclipse.jdt.debug.ui_3.7.0.v20150505-1916 jdtCompilerAdapter.jar
commons-daemon-1.0.10 commons-dbcp-1.3-src commons-pool-1.5.7-src ecj-3.7.2 eclipse-JDT-3.3.1.zip nsis-2.46 tomcat6-deps tomcat-native-1.1.23 非常不好找全,花了半天的时间才找全jar包,并测试通过
将工程中的jsp编译成servlet后打成一个jar包,并且自动生成web.xml中的servlet配置。
,ant包,在tomcat6.0源码编译时要使用的
有些项目中存在多个SourceFolder,而我们可能...详情请参考该完整的java项目,或者笔者博文《如何使用ant从多个Source Folder的项目中导出jar包? 》(地址:http://blog.csdn.net/binbinxyz/article/details/7361376)
近几天在做一个小项目,需要使用ant编译并能够将SVN版本信息打包进所编译出的jar包,为此查了很多资料,总结如下: 1.运行环境需要安装ant并配置好环境变量(此点很重要,Eclipse自带的ant某些功能会受限报错) 2....
当应用hudson一类的自动化平台来构建Eclipse插件时,不能直接调用ANT工具来编译。本工具自动修改Eclipse的路径为 ${ECLIPSE_HOME},并且自动可查找相应插件。 使用方法: java -jar buildfileGenerator.jar build....
分享的就是javaFX的专用的jar包,开发过程中导入eclipse
ant获取SVN版本信息的jar包xmltask以及安装,使用方法 包含jar包以及在ant的编译脚本XML所需加入的节点信息,供大家参考!
包含ant-contrib.jar ant-contrib编译后bin 可直接放入ant安装目录下使用
ant主要是用来为我们的开发人员提供打包服务的jar包,只要用户将这个包导入Myeclipse等开发软件中就能够实现打开工作,你可以利用ant不熟将project打包称war包,然后部署到指定的服务器中。在开发过程中,当一个代码...
编译tomcat源码所需jar包:ant-1.7.1.jar、jaxrpc.jar、org.eclipse.jdt.core_3.6.0.v_A58.jar、wsdl4j-1.5.1.jar
3. 设置Jocky的一些基本属性,包括jocky.jar包的位置,以及混淆编译级别: <jocky jar="{lib.dir}/jocky.jar" enable="true" level="private" /> 4. 当设置jocky的enable属性为true时,此时,Ant脚本中的javac编译...
ant 的 sonar-ant-task 依赖 jar 包,有些 java 开源项目依赖此包编译,nutch 就是其中之一,此为 2.2 版本。下载 sonar-ant-task-2.2.jar.zip 解压为 .jar 文件,复制到 ant/lib/ 目录下即可使用。
Tomcat正是以Ant作为编译工具,要在eclipse中编译Tomcat,必须要用的六个jar文件。
ant_jar包,java使用,使用ant脚本编译jar包。1.class.dir是需要打成jar的class文件目录 2.build.dir是生成jar的目录 3.jar.name是你jar包的名字
win7下编译过的hadoop jar包 hadoop1.1.2 hadoop0.20以后的版本的安装目录下contrib/没有eclipse的hadoop-*-eclipse-plugin.jar插件,需要自己用ant编译。
tomcat6.x源码编译时需要依赖的所有JAR包:包括ant.jar、jaxrpc.jar、org.eclipse.jdt.core_3.8.3.v20130121-145325.jar、wsdl4j-1.5.1.jar。编译tomcat源码时把这些JAR包引入就可以了,亲测不报错,完全可用。 ...