Skip to content

Maven Assemblyプラグインを使用してfat JARを作成する

サンプルプロジェクト: tutorial-server-get-started-maven

Maven Assemblyプラグインを使用すると、プロジェクトの出力を、依存関係、モジュール、サイトドキュメント、その他のファイルを含む単一の配布可能なアーカイブに結合できます。

Assemblyプラグインを設定する

アセンブリをビルドするには、まずAssemblyプラグインを設定する必要があります。

  1. pom.xmlファイルに移動し、メインアプリケーションクラスが指定されていることを確認します。

    xml
    <properties>
        <main.class>com.example.ApplicationKt</main.class>
    </properties>

    main()関数を明示的に使用せずにEngineMainを使用する場合、アプリケーションのメインクラスは使用するエンジンに依存し、次のようになります: io.ktor.server.netty.EngineMain

  2. maven-assembly-pluginpluginsブロックに次のように追加します。

    xml
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.6</version>
        <configuration>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
            <archive>
                <manifest>
                    <addClasspath>true</addClasspath>
                    <mainClass>${main.class}</mainClass>
                </manifest>
            </archive>
        </configuration>
        <executions>
            <execution>
                <id>assemble-all</id>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

アセンブリをビルドする

アプリケーションのアセンブリをビルドするには、ターミナルを開き、次のコマンドを実行します。

Bash
mvn package

これにより、アセンブリ用の新しいtargetディレクトリが、.jarファイルを含めて作成されます。

作成されたパッケージを使用してDockerでアプリケーションをデプロイする方法については、Dockerヘルプトピックを参照してください。

アプリケーションを実行する

ビルドしたアプリケーションを実行するには、以下の手順に従います。

  1. 新しいターミナルウィンドウで、java -jarコマンドを使用してアプリケーションを実行します。サンプルプロジェクトでは次のようになります。

    Bash
    java -jar target/tutorial-server-get-started-maven-0.0.1-jar-with-dependencies.jar
  2. アプリケーションが実行されると、確認メッセージが表示されます。

    Bash
    [main] INFO  Application - Responding at http://0.0.0.0:8080
  3. URLリンクをクリックして、アプリケーションをデフォルトのブラウザで開きます。

    Output of generated ktor project