首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Ant构建可运行jar包中有关依赖jar包碰到的有关问题

2012-10-07 
Ant构建可运行jar包中有关依赖jar包碰到的问题最近碰到一个Ant构建可运行jar包时关于依赖jar包路径问题,总

Ant构建可运行jar包中有关依赖jar包碰到的问题

最近碰到一个Ant构建可运行jar包时关于依赖jar包路径问题,总结如下

1.因依赖jar包需在主jar包程序的MANIFEST.MF的Class-Path中指出,而且有一系列的要注意的地方

Manifest-Version: 1.0Ant-Version: Apache Ant 1.7.1Created-By: 19.1-b02 (Sun Microsystems Inc.)Main-Class: com.umd.tasker.MainClass-Path: lib/activation.jar lib/commons-beanutil s.jar lib/commons-codec.jar lib/commons-collections-3.2.jar

Class-Path每一行前后都需要空格,最后一行需要两次回车,而且每行都必须顶格

2.Class-Path按如上显示的话,相关依赖的jar包就需要放在主运行jar包同级目录的lib文件夹中

3.在Build.xml中,需要指定Class-Path

<target name="build-zip" depends="build-clean,build-classes"><jar destfile="${build.zip.file}"><fileset dir="${build.class.dir}"><include name="**/*.*"/></fileset><manifest><attribute name="Main-Class" value="com.umd.tasker.Main"/><attribute name="Class-Path" value="lib/actication.jar lib/comm ........."/></manifest></jar></target>
?

4.如上所写每次新增jar包都得改,比较麻烦,可以在Ant中用如下方法替换

<target name="build-zip" depends="build-clean,build-classes"><pathconvert property="mf.classpath" pathsep=" "> <path refid="build.classpath" /><mapper><chainedmapper><flattenmapper /><globmapper from="*" to="lib/*" /></chainedmapper></mapper></pathconvert><jar destfile="${build.zip.file}"><fileset dir="${build.class.dir}"><include name="**/*.*"/></fileset><manifest><attribute name="Main-Class" value="com.umd.tasker.Main"/><attribute name="Class-Path" value="${mf.classpath}"/></manifest></jar></target>
?

这样就会自动生成Class-Path了

5.eclipse中导出可运行jar包可以将相关依赖的jar包都打进主运行jar包中,这是怎么做到的呢?下次研究

热点排行