diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..92322c4e
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,2 @@
+.idea/
+target/
diff --git a/Dockerfile b/Dockerfile
index f6c362db..b07fd3dd 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,6 +5,12 @@ RUN ./mvnw -V -B -ff -P docker package -q
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
-COPY --from=build /build/cli/target/openapi-diff-cli-*-all.jar /app/openapi-diff.jar
-ENTRYPOINT ["java", "-jar", "/app/openapi-diff.jar"]
+COPY --from=build /build/cli/target/openapi-diff.jar /app/openapi-diff.jar
+COPY --from=build /build/core/src/test/resources/petstore_v2_* /tmp
+RUN java -XX:ArchiveClassesAtExit=/app/appcds.jsa \
+ -jar /app/openapi-diff.jar \
+ /tmp/petstore_v2_1.yaml \
+ /tmp/petstore_v2_2.yaml \
+ && rm -f /tmp/petstore_v2_*
+ENTRYPOINT ["java", "-Xshare:on", "-XX:SharedArchiveFile=/app/appcds.jsa", "-jar", "/app/openapi-diff.jar"]
CMD ["--help"]
diff --git a/cli/pom.xml b/cli/pom.xml
index 6f11bc03..1ffcc300 100644
--- a/cli/pom.xml
+++ b/cli/pom.xml
@@ -13,6 +13,10 @@
openapi-diff-cli
CLI for openapi-diff
+
+ org.openapitools.openapidiff.cli.Main
+
+
org.openapitools.openapidiff
@@ -52,7 +56,7 @@
all
- org.openapitools.openapidiff.cli.Main
+ ${mainClass}
@@ -64,4 +68,38 @@
+
+
+
+ docker
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+
+
+ package
+
+ shade
+
+
+ false
+ openapi-diff
+
+
+ ${mainClass}
+
+
+
+
+
+
+
+
+
+
+
+
+