папка муравья скопировать из архива - PullRequest
1 голос
/ 20 августа 2010

У меня есть zip-файл со следующей структурой

apache-tomcat-6.0.26.zip апач-кот-6.0.26 / WebApps / менеджер

Я хочу скопировать только папку менеджера в другой каталог

Я пытался

<copy todir="${tomcat.webapp.dir}/manager/" includeEmptyDirs="true">
 <zipfileset src="${tomcat.zip.file}/" >
  <patternset>
   <include name="apache-tomcat-${tomcat.version}/webapps/manager" />
  </patternset>
 </zipfileset>
</copy>

Папка менеджера вывода содержит следующую структуру Apache-6.0.26-кот / WebApps / менеджер. Мне просто нужна папка менеджера и его содержимое, а не его родители.

Попытка изменить на, но появляется сообщение об ошибке, что папка не является архивом

Ответы [ 2 ]

6 голосов
/ 24 августа 2010

Используйте набор шаблонов, чтобы ограничить файлы, которые будут извлечены из почтового индекса, в сочетании с картографом, который удаляет начальное имя каталога

<unzip src="apache-tomcat-${tomcat.version}.zip" dest="${tomcat.webapp.dir}/manager">
    <patternset>
        <include name="**/webapps/manager/**"/>
    </patternset>
    <globmapper from="apache-tomcat-${tomcat.version}/webapps/manager/*" to="*"/>
</unzip>
2 голосов
/ 26 сентября 2012

Вот мое решение:

<copy todir="${tomcat.webapp.dir}/manager/" includeEmptyDirs="true">
 <zipfileset src="${tomcat.zip.file}/" prefix="apache-tomcat-${tomcat.version}/webapps" >
  <patternset>
   <include name="apache-tomcat-${tomcat.version}/webapps/manager" />
  </patternset>
 </zipfileset>
</copy>

Мне очень не нравится задача <unzip>, потому что, когда она терпит неудачу, она не выдает ошибок (по умолчанию <copy> - это ошибка при ошибке, что и являетсяВы хотите в сборке.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...