assembly

出荷用バイナリ生成とか
http://maven.apache.org/plugins/maven-assembly-plugin/introduction.html

dependencyのファイルも一緒にまとめてくれる

pom.xmlに追加

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


src/main/assembly/dep.xmlを作る
書式はこの辺
http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
って解説何も書いてない、、、

<?xml version="1.0" encoding="UTF-8"?>
<assembly>
    <id>dep</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>target</directory>
            <outputDirectory>/lib</outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>src/main/resources</directory>
            <outputDirectory></outputDirectory>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <outputDirectory>/lib</outputDirectory>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>

main/resourcesに設定ファイルを置いてjarの外に出しておきたいときの定義
ユーザが書き換えるようなファイルはmain/configに置くべきか?


mvn assembly:assembly アーカイブで出力
mvn assembly:directory ディレクトリに出力


上の場合だとsrc以下コンパイルを前提にしてるから
mvn clean compile assembly:assembly
で出荷ファイルがぽんと出てくる



ant書くよりは楽かなあ