У меня есть файл Ant, где я создаю zip-файл и манифест для нескольких файлов JAR. Как zip, так и манифест ссылаются на те же библиотеки, но несколько по-разному. Если возможно, я хотел бы объединить ссылки на файлы, а не писать их дважды, и надеяться, что ссылки в обеих задачах будут синхронизированы. Ниже приведен пример того, что я делаю сейчас.Ant задача фильтрации JAR для zip-файла и манифеста
<target name="zip" depends="default">
<zip destfile="${dist.dir}/${project.name}_v${project.version}.zip">
<zipfileset prefix="lib" dir="lib/Dom4J" includes="*.jar"/>
<zipfileset prefix="lib" dir="lib/GSON" includes="*.jar"/>
<zipfileset prefix="lib" dir="lib/Guava" includes="*.jar"/>
<!-- ... A bunch more (Note I don't want everything
in the lib directory, just certain subfolders
within the lib directory which are explicitly
listed here like GSON. -->
</zip>
</target>
<target name="createManifest">
<!-- Hard code the classpath by hand and hope
they sync up with the zip task -->
<property name="mfClasspath"
value="dom4j-1.6.1.jar gson-2.1.jar guava-11.0.2.jar" />
<!-- Code to use the mfClasspath when creating the manifest
omitted for brevity -->
</target>
Что в идеале хотелось бы иметь это fileset
какой-то, что я мог бы ссылаться в обеих задач. Обратите внимание, что манифест не содержит никаких папок/путей. В манифесте содержатся только файлы JAR, найденные в каталогах, упомянутых в задаче zip
.
Отлично, спасибо большое !!! Мне пришлось сделать небольшое изменение в регулярном выражении (поскольку мой манифест использует обратную косую черту), но он работает как шарм! – user973479
' ' –
user973479