diff --git a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
index f91a1e7..5eff726 100644
--- a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
+++ b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle
@@ -221,5 +221,12 @@
         dependency "org.apache.avro:avro:1.11.1"
 
         dependency "io.github.resilience4j:resilience4j-spring-boot2:1.7.1"
+
+        dependency ('org.mariadb.jdbc:mariadb-java-client:3.1.0') {
+            exclude 'org.slf4j:jcl-over-slf4j'
+            exclude 'org.slf4j:slf4j-api'
+        }
+
+        dependency 'org.postgresql:postgresql:42.5.1'
     }
 }
diff --git a/custom/docker/build.gradle b/custom/docker/build.gradle
index 8d9cfd2..45e29df 100644
--- a/custom/docker/build.gradle
+++ b/custom/docker/build.gradle
@@ -84,9 +84,9 @@
             }
         }
         // NOTE: other custom dependencies
-        implementation 'org.mariadb.jdbc:mariadb-java-client:3.1.0'
+        implementation 'org.mariadb.jdbc:mariadb-java-client'
         implementation 'mysql:mysql-connector-java:8.0.31'
-        implementation 'org.postgresql:postgresql:42.5.1'
+        implementation 'org.postgresql:postgresql'
         annotationProcessor('org.springframework.boot:spring-boot-autoconfigure-processor')
         annotationProcessor('org.springframework.boot:spring-boot-configuration-processor')
     }
diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle
index 3218611..bbfadc1 100644
--- a/fineract-provider/build.gradle
+++ b/fineract-provider/build.gradle
@@ -150,8 +150,8 @@
     driver
 }
 dependencies {
-    driver 'org.mariadb.jdbc:mariadb-java-client:3.1.0'
-    driver 'org.postgresql:postgresql:42.5.1'
+    driver 'org.mariadb.jdbc:mariadb-java-client'
+    driver 'org.postgresql:postgresql'
     driver 'mysql:mysql-connector-java:8.0.31'
 }
 
@@ -222,8 +222,8 @@
     ]
 
     dependencies {
-        implementation 'org.mariadb.jdbc:mariadb-java-client:3.1.0'
-        implementation 'org.postgresql:postgresql:42.5.1'
+        implementation 'org.mariadb.jdbc:mariadb-java-client'
+        implementation 'org.postgresql:postgresql'
     }
 }
 
@@ -286,8 +286,8 @@
     allowInsecureRegistries = true
 
     dependencies {
-        implementation 'org.mariadb.jdbc:mariadb-java-client:3.1.0'
-        implementation 'org.postgresql:postgresql:42.5.1'
+        implementation 'org.mariadb.jdbc:mariadb-java-client'
+        implementation 'org.postgresql:postgresql'
     }
 
     pluginExtensions {
diff --git a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java
index 39e72fe..617ae1a 100644
--- a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java
+++ b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java
@@ -22,10 +22,14 @@
 import io.github.classgraph.ClassGraph;
 import io.github.classgraph.ResourceList;
 import io.github.classgraph.ScanResult;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import org.apache.commons.collections4.MapUtils;
 import org.opentest4j.AssertionFailedError;
 
 public class ClasspathDuplicatesStepDefinitions implements En {
@@ -69,7 +73,11 @@
         // tag::then[]
         Then("There should be no duplicates", () -> {
             if (!duplicates.isEmpty()) {
-                throw new AssertionFailedError(duplicates.size() + " Classpath duplicates detected:\n" + duplicates);
+                ByteArrayOutputStream baos = new ByteArrayOutputStream();
+                PrintStream ps = new PrintStream(baos, false, StandardCharsets.UTF_8);
+                MapUtils.debugPrint(ps, "duplicates", duplicates);
+                String prettyPrintedMap = baos.toString(StandardCharsets.UTF_8);
+                throw new AssertionFailedError(duplicates.size() + " Classpath duplicates detected:\n" + prettyPrintedMap);
             }
         });
         // end::then[]
@@ -89,10 +97,11 @@
                 // list formerly in ClasspathHellDuplicatesCheckRule (moved here
                 // in INFRAUTILS-52)
                 || resourcePath.endsWith(".txt") || resourcePath.endsWith("LICENSE") || resourcePath.endsWith("license.html")
-                || resourcePath.endsWith("about.html") || resourcePath.endsWith("readme.html")
-                || resourcePath.startsWith("META-INF/services") || resourcePath.equals("META-INF/DEPENDENCIES")
-                || resourcePath.equals("META-INF/git.properties") || resourcePath.equals("META-INF/io.netty.versions.properties")
-                || resourcePath.equals("META-INF/jersey-module-version") || resourcePath.startsWith("OSGI-INF/blueprint/")
+                || resourcePath.endsWith("AL2.0") || resourcePath.endsWith("LGPL2.1") || resourcePath.endsWith("about.html")
+                || resourcePath.endsWith("readme.html") || resourcePath.startsWith("META-INF/services")
+                || resourcePath.equals("META-INF/DEPENDENCIES") || resourcePath.equals("META-INF/git.properties")
+                || resourcePath.equals("META-INF/io.netty.versions.properties") || resourcePath.equals("META-INF/jersey-module-version")
+                || resourcePath.startsWith("OSGI-INF/blueprint/")
                 // in Akka's JARs
                 || resourcePath.startsWith("org/opendaylight/blueprint/") || resourcePath.endsWith("reference.conf")
                 // json-schema-core and json-schema-validator depend on each
