diff --git a/.gitignore b/.gitignore
index 4525d854..4a897231 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,8 @@ base/diff-2
base/tar-find-layer/layer.zip
base/dump-java8/bin
base/dump-java8/build
+base/dump-java8al2/bin
+base/dump-java8al2/build
base/dump-java11/bin
base/dump-java11/build
base/dump-dotnetcore20/bin
diff --git a/README.md b/README.md
index ce2b5d1a..5e0dc318 100644
--- a/README.md
+++ b/README.md
@@ -310,6 +310,7 @@ These follow the Lambda runtime names:
- `ruby2.5`
- `ruby2.7`
- `java8`
+ - `java8.al2`
- `java11`
- `go1.x`
- `dotnetcore2.0`
@@ -328,6 +329,7 @@ These follow the Lambda runtime names:
- `build-ruby2.5`
- `build-ruby2.7`
- `build-java8`
+ - `build-java8.al2`
- `build-java11`
- `build-go1.x`
- `build-dotnetcore2.0`
diff --git a/base/dump-java8/.settings/org.eclipse.buildship.core.prefs b/base/dump-java8/.settings/org.eclipse.buildship.core.prefs
index 39c6821c..90865998 100644
--- a/base/dump-java8/.settings/org.eclipse.buildship.core.prefs
+++ b/base/dump-java8/.settings/org.eclipse.buildship.core.prefs
@@ -1,7 +1,7 @@
arguments=
auto.sync=false
build.scans.enabled=false
-connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.0-20191016123526+0000))
+connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.3))
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
diff --git a/base/dump-java8al2/.classpath b/base/dump-java8al2/.classpath
new file mode 100644
index 00000000..4857be40
--- /dev/null
+++ b/base/dump-java8al2/.classpath
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/base/dump-java8al2/.project b/base/dump-java8al2/.project
new file mode 100644
index 00000000..0e30deb7
--- /dev/null
+++ b/base/dump-java8al2/.project
@@ -0,0 +1,23 @@
+
+
+ dump-java8
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.buildship.core.gradleprojectnature
+
+
diff --git a/base/dump-java8al2/.settings/org.eclipse.buildship.core.prefs b/base/dump-java8al2/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 00000000..90865998
--- /dev/null
+++ b/base/dump-java8al2/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,13 @@
+arguments=
+auto.sync=false
+build.scans.enabled=false
+connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.3))
+connection.project.dir=
+eclipse.preferences.version=1
+gradle.user.home=
+java.home=
+jvm.arguments=
+offline.mode=false
+override.workspace.settings=true
+show.console.view=true
+show.executions.view=true
diff --git a/base/dump-java8al2/.settings/org.eclipse.core.resources.prefs b/base/dump-java8al2/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..2b763404
--- /dev/null
+++ b/base/dump-java8al2/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
diff --git a/base/dump-java8al2/.settings/org.eclipse.jdt.core.prefs b/base/dump-java8al2/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..2f5cc74c
--- /dev/null
+++ b/base/dump-java8al2/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/base/dump-java8al2/build.gradle b/base/dump-java8al2/build.gradle
new file mode 100644
index 00000000..77e5fb16
--- /dev/null
+++ b/base/dump-java8al2/build.gradle
@@ -0,0 +1,28 @@
+apply plugin: 'java'
+
+sourceCompatibility = '1.8'
+targetCompatibility = '1.8'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ implementation (
+ 'com.amazonaws:aws-lambda-java-core:1.2.0',
+ 'com.amazonaws:aws-lambda-java-events:2.2.7',
+ 'com.amazonaws:aws-java-sdk-s3:1.11.681'
+ )
+}
+
+task buildZip(type: Zip) {
+ from compileJava
+ from processResources
+ into('lib') {
+ from configurations.runtimeClasspath
+ }
+}
+
+build.dependsOn buildZip
+
+// docker run --rm -v "$PWD":/app -w /app gradle:jdk8 gradle build
diff --git a/base/dump-java8al2/src/main/java/org/lambci/lambda/DumpJava8.java b/base/dump-java8al2/src/main/java/org/lambci/lambda/DumpJava8.java
new file mode 100644
index 00000000..f842aa4a
--- /dev/null
+++ b/base/dump-java8al2/src/main/java/org/lambci/lambda/DumpJava8.java
@@ -0,0 +1,88 @@
+package org.lambci.lambda;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.InterruptedException;
+import java.lang.management.ManagementFactory;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Map;
+import java.util.Scanner;
+
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.RequestHandler;
+import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3ClientBuilder;
+import com.amazonaws.services.s3.model.CannedAccessControlList;
+import com.amazonaws.services.s3.model.PutObjectRequest;
+import com.amazonaws.services.s3.model.PutObjectResult;
+
+public class DumpJava8 implements RequestHandler