Maven: создание tar.gz архива

Автор: | 01/09/2015
 

apache_maven_logoНеобходимо упаковать одну директорию в tar.gz архив.

Для этого используем плагин maven-assembly-plugin.

В файл pom.xml модуля, в блоке <plugins> добавляем:

            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2-beta-4</version>
                <configuration>
                    <descriptors>
                        <descriptor>assembly.xml</descriptor>
                    </descriptors>
                    <finalName>${artifactId}-${project.version}-manager-source</finalName>
                    <appendAssemblyId>false</appendAssemblyId>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                  </execution>
                </executions>
            </plugin>

И создаём файл assembly.xml с таким содержимым:

<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0
http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <formats>
    <format>tar.gz</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>manager</directory>
    </fileSet>
  </fileSets>
</assembly>

В нём указывается, что директорию manager необходимо упаковать в архив tar.gz.

В блоке:

<finalName>${artifactId}-${project.version}-manager-source</finalName>

Указываем имя архива, и запускаем выполнение на этапе package.

Запускаем:

 $ mvn package -DskipTests=true
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
...
[INFO] Building tar : C:UsersUserDocumentsAPP_SVN15.01installtargetinstall-15.01.0.49-manager-source.tar.gz
...
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11 seconds
[INFO] Finished at: Fri Jan 09 11:22:02 EET 2015
[INFO] Final Memory: 42M/486M

Готово:

$ ls -l target/ | grep tar.gz
-rwx------+ 1 user Domain Users 5927518 Jan  9 11:21 install-15.01.0.49-manager-source.tar.gz

Ссылки по теме

http://magicmonster.com

http://maven.apache.org