您的位置:首页 > 其它

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

2015-05-17 23:37 323 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: