Я думаю, что вы почти у цели, собрав плоский каталог ваших файлов.Осталось избавиться от элемента tarfileset
, который предназначен специально для сохранения / вставки структуры.Я думаю, что tar
и zip
задачи отлично работают со встроенными fileset
элементами.
Документация подтверждает это - до 1.7 fileset
был встроенный элемент ресурса, который можно было использовать на местеиз tarfileset
.
Если подумать, думаю, что после перехода на fileset
вам больше не нужно временно копировать файлы для выравнивания.
РЕДАКТИРОВАТЬ:
Я только что собрал и запустил этот файл сборки:
<project name="tartest" default="teer">
<target name="teer">
<tar destfile="tartest.tar">
<fileset dir="../Downloads" includes="*.ico *.gif"/>
</tar>
</target>
</project>
и в архиве не было никаких следов исходного каталога:
-rw-r--r-- 0/0 3487 2009-12-28 20:04 actor075_thumb.gif
-rw-r--r-- 0/0 1456 2010-06-16 10:57 bea-logo.gif
-rw-r--r-- 0/0 23800 2010-06-16 09:22 ejb1.gif
-rw-r--r-- 0/0 1406 2010-05-15 10:40 favicon-beta.ico
-rw-r--r-- 0/0 1406 2010-05-15 10:25 favicon-clown.ico
-rw-r--r-- 0/0 1406 2008-12-06 01:08 favicon.ico
Кроме того, tar -xvf tartest.tar
выгрузил tarred файлы в моем текущем каталоге.
Итак ... что вы делаете по-другому, что приводит к другим результатам для вас?
РЕДАКТИРОВАТЬ 2:
Более глубокое понимание, полученное при повторном чтении вашего вопроса.Я полностью обошел проблему с исходными путями, генерируемыми **/*
подстановочными знаками.
Поскольку вы уже рассматриваете возможность копирования этих файлов JAR во временный каталог, все, чего не хватает, - это использовать атрибут flatten
наcopy
задача.Это должно исправить тебя.