这是我用于生成jar包的Ant脚本。我有很多用于清单Class-Path属性的jar包,它们都在特定的文件夹中。
我不想硬编码,我怎样才能自动获取它们?
<jar jarfile="${client_deploy_dir}/HelloWorld.jar"
basedir="${client_work_dir}/compiled">
<manifest>
<attribute name="Main-Class" value="HelloWorld.Main"/>
<attribute name="Class-Path" value="???"/>
</manifest>
</jar>
由于
答案 0 :(得分:2)
你走在正确的轨道上,使用manifestclasspath任务。 jarfile 属性用于创建文件集中包含的jar的相对链接。
<manifestclasspath property="jar.classpath" jarfile="${client_work_dir}/HelloWorld.jar">
<classpath>
<fileset name="" dir="${client_work_dir}/lib" includes="*.jar"/>
</classpath>
</manifestclasspath>
<jar jarfile="${client_deploy_dir}/HelloWorld.jar" basedir="${client_work_dir}/compiled">
<manifest>
<attribute name="Main-Class" value="HelloWorld.Main"/>
<attribute name="Class-Path" value=""${jar.classpath}"/>
</manifest>
</jar>
答案 1 :(得分:0)
查看ant pathconvert任务。您可以使用它将现有文件集扩展为文件列表。