请查看下面的ant文件中的一些目标:
我的问题是我必须两次声明测试依赖库——一次是在定义 test-dep-jars 文件集时,另一次是在指定生成的 jar 的 Class-Path 清单属性时。
如果我只能获得 flattenmapper 的结果,那么我就可以直接在 Class-Path 中使用它。
我该如何获取 flattenmapper 的结果呢?
谢谢。
<fileset id="test-dep-jars" dir="o:/java">
<include name="junit-4.10.jar"/>
<include name="easymock-3.1\easymock-3.1.jar"/>
<include name="easymockclassextension-3.1\easymockclassextension-3.1.jar"/>
</fileset>
<target name="copy-test-deps">
<mkdir dir="${deploy.dir}"/>
<copy todir="${deploy.dir}">
<fileset refid="test-dep-jars"/>
<flattenmapper/>
</copy>
</target>
<target name="jar" depends="copy-test-deps">
<jar destfile="${deploy.dir}/test-${ant.project.name}.jar" basedir="${test.classes.dir}"
includes="**/*.class" filesetmanifest="skip">
<manifest>
<attribute name="Class-Path"
value="${ant.project.name}.jar junit-4.10.jar easymock-3.1.jar easymockclassextension-3.1.jar"/>
</manifest>
</jar>
</target>
我的问题是我必须两次声明测试依赖库——一次是在定义 test-dep-jars 文件集时,另一次是在指定生成的 jar 的 Class-Path 清单属性时。
如果我只能获得 flattenmapper 的结果,那么我就可以直接在 Class-Path 中使用它。
我该如何获取 flattenmapper 的结果呢?
谢谢。
manifestclasspath
任务不太方便,因为它存储了类路径JAR的相对路径。所以在我的情况下,pathconvert和flattenmapper(Vishal的答案)效果最好。 - Jarekczek