maven の Docker イメージを使って Java アプリをビルドしてみる

最近、maven の Docker イメージがあることを知りました.

注目したいのは、バリエーションの豊富さです.
以下のように、maven のバージョン、JDK の種類とバージョン、無印/slim/alpine を指定することができます.

[maven version]-[jdk version(Open JDK/IBM JDK)]-[slim/alpine(optional)]

Open JDK は 7~11, IBM JDK は 8 が使えます.

 

公式で紹介されているコマンドは以下のようになっています.

docker run -it --rm --name my-maven-project -v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn clean install

 

適当なプロジェクトをビルドしてみました.

$ docker run -it --rm --name my-maven-project -v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn clean install
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building jaxrs-micrometer 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom
・・・
・・・
・・・
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/plexus-utils-3.0.5.jar (226 KB at 190.6 KB/sec)
[INFO] Installing /usr/src/mymaven/target/jaxrs-micrometer-1.0-SNAPSHOT.war to /root/.m2/repository/com/project/respite/jaxrs-micrometer/1.0-SNAPSHOT/jaxrs-micrometer-1.0-SNAPSHOT.war
[INFO] Installing /usr/src/mymaven/pom.xml to /root/.m2/repository/com/project/respite/jaxrs-micrometer/1.0-SNAPSHOT/jaxrs-micrometer-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 08:40 min
[INFO] Finished at: 2018-09-24T06:28:40+00:00
[INFO] Final Memory: 22M/70M
[INFO] ------------------------------------------------------------------------

しっかりビルドできています.
任意の maven コマンドを実行できるので、色々面白い使い方が出来そうです.

 

以上です.