Mavenは、DockerHubでオフシャルコンテナを公開しています。
このコンテナを使って、LinuxのDocker環境で、いつでもmvnを実行できるようにしました。
下記のようなシェルを$HOME/bin/mvnに準備して事項権限をつけます。
$ cat ~/bin/mvn #! /bin/bash docker run -it --rm \ -u $(id -u):$(id -g) \ -v $HOME/.m2:/var/maven/.m2 \ -v "$(pwd)":/usr/src/mymaven \ -e MAVEN_CONFIG=/var/maven/.m2 \ -w /usr/src/mymaven \ maven:3.6.3-jdk-11-openj9 \ mvn -Duser.home=/var/maven $* $ chmod +x ~/bin/mvn
あとは、普通にmvn
コマンドを実行するだけです。
JDKやmavenのインストールは不要です。
初回は、下記のようにコンテナをダウンロードします。
$ mvn -v Unable to find image 'maven:3.6.3-jdk-11-openj9' locally 3.6.3-jdk-11-openj9: Pulling from library/maven a1125296b23d: Already exists 3c742a4a0f38: Already exists 4c5ea3b32996: Already exists 1b4be91ead68: Already exists 262049cebf1b: Pull complete 5ad2d62fe9e8: Pull complete ff29c42fd76a: Pull complete dbb173a54a45: Pull complete eef609065721: Pull complete Digest: sha256:4d35cebbd4eb96206e83391b08f1a92f25464eed1c558bec624a44bbc269feba Status: Downloaded newer image for maven:3.6.3-jdk-11-openj9 Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /usr/share/maven Java version: 11.0.8, vendor: AdoptOpenJDK, runtime: /opt/java/openjdk Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.19.76-linuxkit", arch: "amd64", family: "unix" $ type java -bash: type: java: 見つかりませ $
コメント