Ant classpath 指定类路径 编译程序引用第三方jar包

Ant 在运行一些任务的时候需要用<classpath>指定类路径.尤其是编译程序引用第三方jar包时,
需要在<javac></javac>里配置<classpath>
<classpath>可以内嵌 pathelement,path,fileset,dirset,filelist.
1.pathelement:
    <classpath>
      <pathelement path="${classpath}"/>
      <pathelement location="lib/helper.jar"/>
    </classpath>
对于pathelement的两个属性——path和location:
1-1.location的值可以是一个文件(file),也可以是一个相对于当前根目录(project的basedir)的文件夹(directory),或者是一个带有绝对路径的文件(文件夹)


<classpath>
    <pathelement location="lib/helper.jar"/>
</classpath>

<classpath>
    <pathelement location="classes" />
</classpath>


1-2.path则表示的是一系列的用分号(“;”)或冒号(“:”)分隔开的location值。
需要注意的是<pathelement path="${project.jar.path}> 里面path指向的不是一个预先定义的<path>,
而是一个符合classpath规则的property或者一个符合classpath规则的字符串


<property name="project.jar.path" value="D:/temp/temp.jar;D:/temp/temp1.jar" />
<classpath id="tcls">
       <pathelement path="${project.jar.path}" />
 </classpath>
 或
<classpath id="tcls">
        <pathelement path="d:/temp/temp.jar" />
 </classpath>


如果误认为path应该指向一个预先定义的path是不正确的,错误示例如下
        <path id="testTask.classpath">
            <fileset dir="${project.lib.path}">
                <include name="**/*.jar" />
            </fileset>
         <classpath id="tcls">
              <pathelement path="${testTask.classpath}" />
         </classpath>


2.如果想在<classpath>里引用预先定义好的path,应该如下:
         <classpath id="tcls">
             <path refid="testTask.classpath" />
         </classpath>
  或
        <path id="base.path">
     <pathelement path="${classpath}"/>
</path>
      can be written as:
       <path id="base.path" path="${classpath}"/>


       <path id="tests.path" cache="true">
           <path refid="base.path"/>
           <pathelement location="testclasses"/>
       </path>


       <classpath id="tcls">
              <path refid="tests.path" />
       </classpath>


3.dirset:
<classpath>
    <dirset dir="${build.dir}">
        <include name="apps/**/classes" />
        <exclude name="apps/**/*Test*" />
    </dirset>
</classpath>


4.fileset:
Fileset 数据类型定义了一组文件,并通常表示为<fileset>元素
<classpath>
    <fileset dir="lib">
        <include name="**/*.jar" />
    </fileset>
</classpath>


<classpath id="classpath" description="The default classpath.">
  <fileset dir="lib">
    <include name="jaxp.jar"/>
    <include name="crimson.jar"/>
    <include name="ojdbc14.jar"/>
  </fileset>
</classpath>
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值