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>
需要在<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>
相关文章推荐
- c/c++编译时,指定程序运行时查找的动态链接库路径
- ant编译程序,用到第三方jar包
- c/c++编译时,指定程序运行时查找的动态链接库路径
- DOS环境下含包并引用第三方jar的java程序的编译及运行
- linux中源代码程序编译指定安装路径
- Dos 下编译java文件引用到多个第三方jar时必须逐个指定到具体的jar,否则报找不到类型错误
- ant编译程序,用到第三方jar包
- DOS环境下含包并引用第三方jar的java程序的编译及运行
- DOS环境下含包并引用第三方jar的java程序的编译及运行
- 运用Ant编译Java程序的一个小实例
- ant编译打包可运行的jar文件,并包含所依赖的第三方jar包
- 利用ant执行javac任务编译java程序,报 错误: 编码GBK的不可映射字符
- ant 编译build时引用软件包找不到的解决例子
- ant编译打包可运行的jar文件,并包含所依赖的第三方jar包
- linux 编译指定库、头文件的路径问题
- Java-命令行编译带包和带入第三方jar的java程序
- msbuild编译qt界面文件出现Moc'ing文件,系统找不到指定路径问题
- 访问samba服务器提示“无任何网络提供程序接受指定的网络路径”的一个解决办法
- linux 编译指定库、头文件的路径问题
- linux系统编译C++程序时头文件和库文件搜索路径