Как использовать атрибут zipfileset src без указания его вручную для всех моих банок?

В настоящее время у меня есть это:

<jarjar destfile="a.jar" manifest="Manifest.mf">
  <zipfileset src="first.jar"/>
  <zipfileset src="second.jar"/>
</jarjar>

Проблема заключается в том, что я должен вручную указывать каждую банку, потому что мне нужно учитывать параметр src. Я хотел бы что-то вроде этого:

<zipfileset>
   <include name="*.jar"/>
<zipfileset>

И извлеките их содержимое и включите его в полученный архив. Возможно ли это?

Ответ 1

Возможно, вы могли бы объединить банки сначала:

<zip destfile="out.jar">
  <zipgroupfileset dir="lib" includes="*.jar"/>
</zip>

и укажите объединенную банку в zipfileset.

zipgroupfileset

A <zipgroupfileset> allows for multiple zip files to be merged into

архив. Каждый найденный в этом файле в архив добавлен набор файлов так же, как файлы zipfileset src добавлен.

<zipgroupfileset> is a fileset and supports all of its attributes and

вложенные элементы.

Ответ 2

Согласно комментариям к jarjar wiki, вы можете использовать это в своем jarjar:

<zipgroupfileset dir="lib" includes="*.jar" />

Я не пробовал.

Ответ 3

<jar destfile="./dist/Ohmyfish.jar" basedir="./bin">
    <manifest>
        <attribute name="Created-By" value="Bruce Yang" />
        <attribute name="Main-Class" value="org.bruce.ohmyfish.entry.Main" />
    </manifest>
    <zipgroupfileset dir="./libs" includes="**/*.jar" />
</jar>