Maven: распакуйте zip-артефакт в СПЕЦИАЛЬНОЕ имя папки - PullRequest
9 голосов
/ 19 января 2012

Я пытаюсь загрузить zom-артефакт tomcat и распаковать его в папку с именем tomcat.Я получаю tomcat / apache-tomcat-7.0.19 / Как мне избавиться от надоедливого промежуточного каталога?

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
    <execution>
        <id>unpack-tomcat</id>
        <phase>process-sources</phase>
        <goals>
            <goal>unpack</goal>
        </goals>
        <configuration>
            <artifactItems>
                <artifactItem>
                    <groupId>org.apache</groupId>
                    <artifactId>tomcat</artifactId>
                    <version>7.0.19-win64</version>
                    <type>zip</type>
                    <overWrite>false</overWrite>
                    <outputDirectory>tomcat</outputDirectory>
                    <excludes>webapps/**</excludes>
                </artifactItem>
            </artifactItems>                            
        </configuration>
    </execution>
</executions>
</plugin>

Ответы [ 3 ]

5 голосов
/ 12 марта 2013

Возможно, есть более "мавенский" способ для достижения моего предложения :), но использование плагина maven ant может стать обходным решением в вашей ситуации:

2 голосов
/ 06 сентября 2013

Maven распаковать с плоским путем

http://pulkitsinghal.blogspot.com/2011/04/jetspeed-finally-unpack-plugin-with.html:

Нет абсолютно никакого способа (известного мне на момент написания этой записи в блоге) чтобы этот плагин maven выплюнул плоскую структуру.

Так что хорошей альтернативой является использование jetspeed-unpack-maven-plugin , который позволяет пользователям указывать <flat>true</flat> как часть конфигурация для того, чтобы получить нужный файл без нагрузки наличие относительного пути от корня артефакта, включенного в хорошо.

Документы утверждают, что этот плагин также может разархивировать произвольный относительный путь внутри сжатого maven-артефакта к определенной папке назначения.

0 голосов
/ 19 января 2012

Использовать unpack-зависимостей цель и установить для useSubDirectoryPerArtifact значение false.

...