Mavenで、依存ライブラリのjarを含んだ実行可能なjarを生成する方法
Posted on 2010-10-05 by takezoux2Mavenで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
を参照してください。