MAVENにて実行可能なJarを作る話

すごく単純ですが、実行可能なjarの作り方をメモります

Raspberry pi とか使っててよく忘れるのでメモです

ソース : https://github.com/wataru775/executable-jar

実行するソース

ソース自体は簡単にhelloです.
ポイントはstatic void mainが実行されます(そりゃそうだ

package org.mmpp.sample.executable.jar;

public class Application {
    public static void main(String[] args){
        System.out.println("Hello! executable");
    }
}

実行すると「Hello! executable」が標準出力に出るだけです

pom.xml(mavenの設定)の構成

設定自体は単純に「maven-shade-plugin」プラグインを設定すればOKです

実行するmainメソッドを含むクラスをconfigurationにて指定すればOKです

                        <configuration>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>org.mmpp.sample.executable.jar.Application</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>

ファイル名はbuildのfinalNameにて書いたファイル名(+ version).jarで出来上がります。

作ってみる

$ mvn package

ってやれば

target以下にjarが出来上がります

実行してみる

実際に作成したjarファイルを実行してみます

$ java -jar target/executable-jar.jar 
Hello! executable

想定した通りに動きました。