【整理自网络】Ant使用及相关资料(解决引用jar包编译的问题)

听说过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个问题得到解决。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值