diff --git a/1.7.1/buster/jdk-11/abcl-wrapper b/1.7.1/buster/jdk-11/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/1.7.1/buster/jdk-11/abcl-wrapper
+++ b/1.7.1/buster/jdk-11/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.7.1/buster/jdk-11/slim/abcl-wrapper b/1.7.1/buster/jdk-11/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/1.7.1/buster/jdk-11/slim/abcl-wrapper
+++ b/1.7.1/buster/jdk-11/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.7.1/buster/jdk-15/abcl-wrapper b/1.7.1/buster/jdk-15/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/1.7.1/buster/jdk-15/abcl-wrapper
+++ b/1.7.1/buster/jdk-15/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.7.1/buster/jdk-15/slim/abcl-wrapper b/1.7.1/buster/jdk-15/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/1.7.1/buster/jdk-15/slim/abcl-wrapper
+++ b/1.7.1/buster/jdk-15/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.7.1/buster/jdk-8/abcl-wrapper b/1.7.1/buster/jdk-8/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..033e29a36854202544bbebe1b3a5bedcc6247fd1 100755
--- a/1.7.1/buster/jdk-8/abcl-wrapper
+++ b/1.7.1/buster/jdk-8/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.7.1/buster/jdk-8/slim/abcl-wrapper b/1.7.1/buster/jdk-8/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..033e29a36854202544bbebe1b3a5bedcc6247fd1 100755
--- a/1.7.1/buster/jdk-8/slim/abcl-wrapper
+++ b/1.7.1/buster/jdk-8/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.7.1/windowsservercore-1809/jdk-11/abcl-wrapper.bat b/1.7.1/windowsservercore-1809/jdk-11/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd 100644
--- a/1.7.1/windowsservercore-1809/jdk-11/abcl-wrapper.bat
+++ b/1.7.1/windowsservercore-1809/jdk-11/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.7.1/windowsservercore-1809/jdk-15/abcl-wrapper.bat b/1.7.1/windowsservercore-1809/jdk-15/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd 100644
--- a/1.7.1/windowsservercore-1809/jdk-15/abcl-wrapper.bat
+++ b/1.7.1/windowsservercore-1809/jdk-15/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.7.1/windowsservercore-1809/jdk-8/abcl-wrapper.bat b/1.7.1/windowsservercore-1809/jdk-8/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..67ccdb3069206b414916f1db82a9e582467df479 100644
--- a/1.7.1/windowsservercore-1809/jdk-8/abcl-wrapper.bat
+++ b/1.7.1/windowsservercore-1809/jdk-8/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.7.1/windowsservercore-ltsc2016/jdk-11/abcl-wrapper.bat b/1.7.1/windowsservercore-ltsc2016/jdk-11/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd 100644
--- a/1.7.1/windowsservercore-ltsc2016/jdk-11/abcl-wrapper.bat
+++ b/1.7.1/windowsservercore-ltsc2016/jdk-11/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.7.1/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat b/1.7.1/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd 100644
--- a/1.7.1/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat
+++ b/1.7.1/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.7.1/windowsservercore-ltsc2016/jdk-8/abcl-wrapper.bat b/1.7.1/windowsservercore-ltsc2016/jdk-8/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..67ccdb3069206b414916f1db82a9e582467df479 100644
--- a/1.7.1/windowsservercore-ltsc2016/jdk-8/abcl-wrapper.bat
+++ b/1.7.1/windowsservercore-ltsc2016/jdk-8/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.8.0/buster/jdk-11/abcl-wrapper b/1.8.0/buster/jdk-11/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/1.8.0/buster/jdk-11/abcl-wrapper
+++ b/1.8.0/buster/jdk-11/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.8.0/buster/jdk-11/slim/abcl-wrapper b/1.8.0/buster/jdk-11/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/1.8.0/buster/jdk-11/slim/abcl-wrapper
+++ b/1.8.0/buster/jdk-11/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.8.0/buster/jdk-15/abcl-wrapper b/1.8.0/buster/jdk-15/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/1.8.0/buster/jdk-15/abcl-wrapper
+++ b/1.8.0/buster/jdk-15/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.8.0/buster/jdk-15/slim/abcl-wrapper b/1.8.0/buster/jdk-15/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/1.8.0/buster/jdk-15/slim/abcl-wrapper
+++ b/1.8.0/buster/jdk-15/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.8.0/buster/jdk-8/abcl-wrapper b/1.8.0/buster/jdk-8/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..033e29a36854202544bbebe1b3a5bedcc6247fd1 100755
--- a/1.8.0/buster/jdk-8/abcl-wrapper
+++ b/1.8.0/buster/jdk-8/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.8.0/buster/jdk-8/slim/abcl-wrapper b/1.8.0/buster/jdk-8/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..033e29a36854202544bbebe1b3a5bedcc6247fd1 100755
--- a/1.8.0/buster/jdk-8/slim/abcl-wrapper
+++ b/1.8.0/buster/jdk-8/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/1.8.0/windowsservercore-1809/jdk-11/abcl-wrapper.bat b/1.8.0/windowsservercore-1809/jdk-11/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd 100644
--- a/1.8.0/windowsservercore-1809/jdk-11/abcl-wrapper.bat
+++ b/1.8.0/windowsservercore-1809/jdk-11/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.8.0/windowsservercore-1809/jdk-15/abcl-wrapper.bat b/1.8.0/windowsservercore-1809/jdk-15/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd 100644
--- a/1.8.0/windowsservercore-1809/jdk-15/abcl-wrapper.bat
+++ b/1.8.0/windowsservercore-1809/jdk-15/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.8.0/windowsservercore-1809/jdk-8/abcl-wrapper.bat b/1.8.0/windowsservercore-1809/jdk-8/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..67ccdb3069206b414916f1db82a9e582467df479 100644
--- a/1.8.0/windowsservercore-1809/jdk-8/abcl-wrapper.bat
+++ b/1.8.0/windowsservercore-1809/jdk-8/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.8.0/windowsservercore-ltsc2016/jdk-11/abcl-wrapper.bat b/1.8.0/windowsservercore-ltsc2016/jdk-11/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd 100644
--- a/1.8.0/windowsservercore-ltsc2016/jdk-11/abcl-wrapper.bat
+++ b/1.8.0/windowsservercore-ltsc2016/jdk-11/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.8.0/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat b/1.8.0/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd 100644
--- a/1.8.0/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat
+++ b/1.8.0/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/1.8.0/windowsservercore-ltsc2016/jdk-8/abcl-wrapper.bat b/1.8.0/windowsservercore-ltsc2016/jdk-8/abcl-wrapper.bat
index e82861d86fb7627f8be60e4986769c202a4c1e3b..67ccdb3069206b414916f1db82a9e582467df479 100644
--- a/1.8.0/windowsservercore-ltsc2016/jdk-8/abcl-wrapper.bat
+++ b/1.8.0/windowsservercore-ltsc2016/jdk-8/abcl-wrapper.bat
@@ -1,2 +1,2 @@
 @echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/abcl-wrapper b/abcl-wrapper
deleted file mode 100755
index cb3658bf15d7e66e88d05cb711de365d636417c0..0000000000000000000000000000000000000000
--- a/abcl-wrapper
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/abcl-wrapper-jdk11 b/abcl-wrapper-jdk11
new file mode 100755
index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0
--- /dev/null
+++ b/abcl-wrapper-jdk11
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/abcl-wrapper-jdk11.bat b/abcl-wrapper-jdk11.bat
new file mode 100644
index 0000000000000000000000000000000000000000..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd
--- /dev/null
+++ b/abcl-wrapper-jdk11.bat
@@ -0,0 +1,2 @@
+@echo off
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/abcl-wrapper-jdk15 b/abcl-wrapper-jdk15
new file mode 100755
index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0
--- /dev/null
+++ b/abcl-wrapper-jdk15
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/abcl-wrapper-jdk15.bat b/abcl-wrapper-jdk15.bat
new file mode 100644
index 0000000000000000000000000000000000000000..79b0aa4c8a11d42f3c77c9df3387a54a0506fdcd
--- /dev/null
+++ b/abcl-wrapper-jdk15.bat
@@ -0,0 +1,2 @@
+@echo off
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/abcl-wrapper-jdk8 b/abcl-wrapper-jdk8
new file mode 100755
index 0000000000000000000000000000000000000000..033e29a36854202544bbebe1b3a5bedcc6247fd1
--- /dev/null
+++ b/abcl-wrapper-jdk8
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/abcl-wrapper-jdk8.bat b/abcl-wrapper-jdk8.bat
new file mode 100644
index 0000000000000000000000000000000000000000..67ccdb3069206b414916f1db82a9e582467df479
--- /dev/null
+++ b/abcl-wrapper-jdk8.bat
@@ -0,0 +1,2 @@
+@echo off
+java -cp C:\abcl\abcl.jar;"%CLASSPATH%" -XshowSettings:vm -Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/abcl-wrapper.bat b/abcl-wrapper.bat
deleted file mode 100644
index e82861d86fb7627f8be60e4986769c202a4c1e3b..0000000000000000000000000000000000000000
--- a/abcl-wrapper.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-@echo off
-java -jar C:\abcl\abcl.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/nightly/buster/jdk-11/abcl-wrapper b/nightly/buster/jdk-11/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/nightly/buster/jdk-11/abcl-wrapper
+++ b/nightly/buster/jdk-11/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/nightly/buster/jdk-11/slim/abcl-wrapper b/nightly/buster/jdk-11/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/nightly/buster/jdk-11/slim/abcl-wrapper
+++ b/nightly/buster/jdk-11/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/nightly/buster/jdk-15/abcl-wrapper b/nightly/buster/jdk-15/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/nightly/buster/jdk-15/abcl-wrapper
+++ b/nightly/buster/jdk-15/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/nightly/buster/jdk-15/slim/abcl-wrapper b/nightly/buster/jdk-15/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..da76f04365f54d85863e4bd70e3f934c3c21c6d0 100755
--- a/nightly/buster/jdk-15/slim/abcl-wrapper
+++ b/nightly/buster/jdk-15/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/nightly/buster/jdk-8/abcl-wrapper b/nightly/buster/jdk-8/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..033e29a36854202544bbebe1b3a5bedcc6247fd1 100755
--- a/nightly/buster/jdk-8/abcl-wrapper
+++ b/nightly/buster/jdk-8/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/nightly/buster/jdk-8/slim/abcl-wrapper b/nightly/buster/jdk-8/slim/abcl-wrapper
index cb3658bf15d7e66e88d05cb711de365d636417c0..033e29a36854202544bbebe1b3a5bedcc6247fd1 100755
--- a/nightly/buster/jdk-8/slim/abcl-wrapper
+++ b/nightly/buster/jdk-8/slim/abcl-wrapper
@@ -1,3 +1,7 @@
 #!/bin/sh
 
-exec java -jar /usr/local/share/abcl/abcl.jar "$@"
+exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \
+     -XshowSettings:vm -Dfile.encoding=UTF-8 \
+     -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \
+     org.armedbear.lisp.Main \
+     "$@"
diff --git a/update.sh b/update.sh
index ebc9d74d0ca4fe538d5d0b4aa6dc67757653a49b..7af9e9dbe41ffc62fc66970c16e291b577847c04 100755
--- a/update.sh
+++ b/update.sh
@@ -55,12 +55,12 @@ for version in "${versions[@]}"; do
         case "$os" in
             buster)
                 template="apt$variantTag"
-                cp abcl-wrapper "$dir/abcl-wrapper"
+                cp "abcl-wrapper-jdk$javaVersion" "$dir/abcl-wrapper"
                 cp docker-entrypoint.sh "$dir/docker-entrypoint.sh"
                 ;;
             windowsservercore-*)
                 template='windowsservercore'
-                cp abcl-wrapper.bat "$dir/abcl-wrapper.bat"
+                cp "abcl-wrapper-jdk$javaVersion.bat" "$dir/abcl-wrapper.bat"
                 ;;
         esac