Relocate Third-Party Library in JDBC Jar

Details

Detail name Value
Changelog Number 19314
Type Improvement
Status Resolved
Fix Versions JDBC 24.0.0
Resolution Date 2024-03-11

Background

Previously, when the JDBC Jar contained a third-party library like BouncyCastle within a fat jar, it led to potential conflicts. This occurred when using the JDBC driver in a project that also included BouncyCastle but in a different version. The presence of the same classes on the classpath in two distinct (and potentially incompatible) versions caused problems.

Improvement

Third-party libraries are relocated within the JDBC Jar. This relocation involves moving BouncyCastle classes from their original package structure (e.g., org/bouncycastle) to a new location (e.g., third_party/org/bouncycastle) within the Jar.

This resolves the conflicts arising from the presence of multiple versions of BouncyCastle classes on the classpath, ensuring compatibility and stability when using the JDBC driver alongside other dependencies. Users can now incorporate the JDBC Jar into their projects without encountering version conflicts with BouncyCastle or similar third-party libraries.