Mavenで、依存ライブラリのjarを含んだ実行可能なjarを生成する方法

Posted on 2010-10-05 by takezoux2

Mavenでpackageを用いて、依存関係のjarを含んだ実行可能なjarファイルを作成する方法の紹介です。

以下をPOMに設定しておくと、

mvn package

を実行するだけでよくなります。

POMサンプル

    <plugins>
        <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
                <!-- ここはこのままでOK -->
                <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
            <archive>
              <manifest>
                <!-- ここにmain関数のあるクラスを指定。これがManifest.mfに設定されます -->
                <mainClass>full.package.of.MainClass</mainClass>
              </manifest>
            </archive>
        </configuration>
            <executions>
              <!-- ここでpackageのPhaseで実行されるように設定している-->
              <execution>
                <id>make-assembly</id> <!-- this is used for inheritance merges -->
                <phase>package</phase> <!-- append to the packaging phase. -->
                <goals>
                  <goal>single</goal> <!-- goals == mojos -->
                </goals>
              </execution>
            </executions>
        </plugin>
    </plugins>

詳しくは
http://maven.apache.org/plugins/maven-assembly-plugin/usage.html
を参照してください。


Tags

Tips