2009年8月11日火曜日

「maven-assembly-plugin」を利用して配信用ZIPファイル作成

「maven-assembly-plugin」を利用して配信用ZIPファイル作成する方法


「pom.xml」に「maven-assembly-plugin」を追加する。


<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <descriptors>
            <descriptor>src/main/assembly/assembly.xml</descriptor>
        </descriptors>
    </configuration>
</plugin>


「descriptor(assembly.xml)」を作成。


<assembly>
    <id>distribution</id>
    <formats>
        <format>zip</format>
    </formats>
    <moduleSets>
        <moduleSet>
            <binaries>
            </binaries>
        </moduleSet>
    </moduleSets>
    <fileSets>
        <fileSet>
            <directory>target</directory>
            <outputDirectory>/</outputDirectory>
            <includes>
                <include>**/*.jar</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>src/main/sh</directory>
            <outputDirectory>/sh</outputDirectory>
            <includes>
                <include>**/*.sh</include>
            </includes>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <unpack>false</unpack>
            <scope>runtime</scope>
            <outputDirectory>/lib</outputDirectory>
        </dependencySet>
    </dependencySets>
</assembly>


- <fileSet>の設定で必要なファイルの追加ができる。

- <dependencySet>の設定で依存するライブラリの追加ができる。

- <dependencySet>の「scope」を「runtime」にすれば必須依存ライブラリのみを含む事ができる。


面白いね。。(ё(エ)ё)