diff --git a/pom.xml b/pom.xml
index 990a67f8..61a1f124 100644
--- a/pom.xml
+++ b/pom.xml
@@ -259,6 +259,41 @@
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.0.0
+
+
+ generate-graalvm-info
+ process-classes
+
+ java
+
+
+ true
+ test
+
+ info.picocli
+ picocli-codegen
+
+ picocli.codegen.aot.graalvm.JniConfigGenerator
+
+ org.fusesource.jansi.internal.CLibrary
+ org.fusesource.jansi.internal.Kernel32
+ -o=target/classes/META-INF/native-image/jansi/jni-config.json
+
+
+
+
+
+
+ info.picocli
+ picocli-codegen
+ 4.5.2
+
+
+
@@ -269,6 +304,12 @@
5.7.0
test
+
+ info.picocli
+ picocli-codegen
+ 4.5.2
+ test
+
diff --git a/src/main/resources/META-INF/native-image/jansi/resource-config.json b/src/main/resources/META-INF/native-image/jansi/resource-config.json
new file mode 100644
index 00000000..2c5a386b
--- /dev/null
+++ b/src/main/resources/META-INF/native-image/jansi/resource-config.json
@@ -0,0 +1,16 @@
+{
+ "resources": [
+ {"pattern": "org/fusesource/jansi/internal/native/FreeBSD/x86/libjansi.so"},
+ {"pattern": "org/fusesource/jansi/internal/native/FreeBSD/x86_64/libjansi.so"},
+ {"pattern": "org/fusesource/jansi/internal/native/Linux/arm/libjansi.so"},
+ {"pattern": "org/fusesource/jansi/internal/native/Linux/arm64/libjansi.so"},
+ {"pattern": "org/fusesource/jansi/internal/native/Linux/armv7/libjansi.so"},
+ {"pattern": "org/fusesource/jansi/internal/native/Linux/ppc64/libjansi.so"},
+ {"pattern": "org/fusesource/jansi/internal/native/Linux/x86/libjansi.so"},
+ {"pattern": "org/fusesource/jansi/internal/native/Linux/x86_64/libjansi.so"},
+ {"pattern": "org/fusesource/jansi/internal/native/Mac/x86/libjansi.jnilib"},
+ {"pattern": "org/fusesource/jansi/internal/native/Mac/x86_64/libjansi.jnilib"},
+ {"pattern": "org/fusesource/jansi/internal/native/Windows/x86/jansi.dll"},
+ {"pattern": "org/fusesource/jansi/internal/native/Windows/x86_64/jansi.dll"}
+ ]
+}
\ No newline at end of file