diff --git a/docker/maven/Dockerfile b/docker/maven/Dockerfile
index 7d30dbf3..74efbdc1 100644
--- a/docker/maven/Dockerfile
+++ b/docker/maven/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04 as downloader
+FROM ubuntu:20.04 as downloader
ARG jdk=16
ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh
@@ -7,11 +7,11 @@ RUN provision/jdk/java-${jdk}.sh
ARG lombokjar=lombok.jar
ADD https://projectlombok.org/downloads/${lombokjar} /lombok.jar
-ARG maven=3.6.1
+ARG maven=3.6.3
ADD provision/maven/maven-${maven}.sh provision/maven/maven-${maven}.sh
RUN provision/maven/maven-${maven}.sh
-FROM ubuntu:18.04
+FROM ubuntu:20.04
COPY --from=downloader /usr/local/apache-maven/ /usr/local/apache-maven/
COPY --from=downloader /opt/jdk/ /opt/jdk/
diff --git a/docker/maven/files/jdk-16/classpath/pom.xml b/docker/maven/files/jdk-16/classpath/pom.xml
new file mode 100644
index 00000000..dd833235
--- /dev/null
+++ b/docker/maven/files/jdk-16/classpath/pom.xml
@@ -0,0 +1,53 @@
+
+ 4.0.0
+
+ com.example
+ lombok-jdk-${env.JDK_VERSION}
+ 1.0-SNAPSHOT
+
+
+ UTF-8
+ 16
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.0
+
+ ${java.version}
+ ${java.version}
+ true
+ true
+ true
+
+ -Werror
+ -Xlint:all
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
+
+
+
+
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.2.3
+ system
+ /workspace/classpath/lombok.jar
+
+
+
+
\ No newline at end of file
diff --git a/docker/maven/files/jdk-16/modules/pom.xml b/docker/maven/files/jdk-16/modules/pom.xml
new file mode 100644
index 00000000..7fa84859
--- /dev/null
+++ b/docker/maven/files/jdk-16/modules/pom.xml
@@ -0,0 +1,60 @@
+
+ 4.0.0
+
+ com.example
+ lombok-jdk-${env.JDK_VERSION}
+ 1.0-SNAPSHOT
+
+
+ UTF-8
+ 16
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.0
+
+ ${java.version}
+ ${java.version}
+ true
+ true
+ true
+
+ -Werror
+ -Xlint:all
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
+ -J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.10
+
+
+
+
+
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.2.3
+ system
+ /workspace/modules/lombok.jar
+
+
+
+
\ No newline at end of file
diff --git a/docker/maven/readme.md b/docker/maven/readme.md
index 9ca76985..5f0d196c 100644
--- a/docker/maven/readme.md
+++ b/docker/maven/readme.md
@@ -2,11 +2,12 @@
[_(general configuration and options)_](../readme.md)
-### `ARG maven=3.6.1`
+### `ARG maven=3.6.3`
The maven version to be used. Supported values:
-- `3.6.1` (default)
+- `3.6.3` (default)
+- `3.6.1`
- `3.6.0`
- `3.5.0`
@@ -15,21 +16,22 @@ The maven version to be used. Supported values:
(To be executed from the `/docker` directory)
```
-docker build -t lombok-maven-jdk13 -f maven/Dockerfile .
+docker build -t lombok-maven-jdk16 -f maven/Dockerfile .
-docker build -t lombok-maven-jdk13 --build-arg lombokjar=lombok-1.16.20.jar -f maven/Dockerfile .
+docker build -t lombok-maven-jdk16 --build-arg lombokjar=lombok-1.18.20.jar -f maven/Dockerfile .
```
## Example run commands:
```
-docker run -it lombok-maven-jdk13
+docker run -it lombok-maven-jdk16
-docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-maven-jdk13
+docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-maven-jdk16
```
## Example container commands:
```
+cd classpath
mvn compile
```
diff --git a/docker/provision/maven/maven-3.6.3.sh b/docker/provision/maven/maven-3.6.3.sh
new file mode 100644
index 00000000..95ddff7f
--- /dev/null
+++ b/docker/provision/maven/maven-3.6.3.sh
@@ -0,0 +1,4 @@
+apt-get update && apt-get install -y wget
+wget https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.tar.gz -O maven.tar.gz
+mkdir /usr/local/apache-maven/ && tar xvf maven.tar.gz -C /usr/local/apache-maven/
+mv /usr/local/apache-maven/apache-maven-3.6.3 /usr/local/apache-maven/apache-maven