wlai
发贴: 35
积分: 10
|
于 2003-11-18 23:24
有一个 Ant task (jlink) 可以把两(或多)个 jar 合拼, 见下例:
<project name="MyProject" default="dist" basedir=".">
<!-- global properties --> <property name="src" value="src"/> <property name="build" value="build"/> <property name="dist" value="dist"/> <property name="config" value="config"/> <property name="docs" value="docs"/> <property name="res" value="../resources"/>
<path id="jaxp.path"> <pathelement path="${res}/jaxp-1.1/jaxp.jar;${res}/jaxp-1.1/crimson.jar;${res}/jaxp-1.1/xalan.jar"/> </path> <target name="init"> <tstamp/> <mkdir dir="${build}"/> </target> <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${build}" optimize="on"> <classpath> <path refid="jaxp.path"/> </classpath> </javac> </target> <target name="dist" depends="compile"> <mkdir dir="${dist}"/> <!-- jlink ignores meta-inf directories, so we include the manifest.mf later manually with jlink --> <jar jarfile="${dist}/tmp.jar" basedir="${build}" compress="false"/> <jlink compress="false" outfile="${dist}/myproject.jar"> <mergefiles> <pathelement path="${dist}/tmp.jar"/> <!-- JAXP 1.1 --> <pathelement path="${LIBS}/jaxp-1.1/jaxp.jar"/> <pathelement path="${LIBS}/jaxp-1.1/crimson.jar"/> <pathelement path="${LIBS}/jaxp-1.1/xalan.jar"/> </mergefiles>
<addfiles> <pathelement path="${config}/meta-inf"/> </addfiles> </jlink> <delete file="${dist}/tmp.jar"/> </target>
<target name="clean"> <delete dir="${build}"/> <delete dir="${dist}"/> <!-- <delete dir="${docs}"/> --> </target>
</project>
|