The AWS SDK for Java 2.17 removes its exterior dependency on Jackson

[ad_1]

We have now launched the AWS SDK for Java 2.17, which removes the SDK’s exterior dependency on the favored third-party JSON library, Jackson. Which means that AWS SDK for Java 2.x not requires an exterior copy of Jackson-databind, Jackson-core, or Jackson-dataformat-cbor in an effort to operate. This launch doesn’t change any of the general public AWS SDK APIs.

Why was this variation made?
Beforehand, updating the Jackson model utilized by the Java SDK meant that buyer purposes may probably break due to backwards-incompatibilities between the previous and new Jackson variations. Now, the SDK is utilizing its personal “shaded” copy of Jackson to make sure we are able to keep-up-to date with the newest Jackson efficiency, stability, and safety enhancements.

Will I’ve any points upgrading to model 2.17 from earlier 2.x variations?
Many of the SDK adjustments in model 2.17 are “beneath the hood”. In our testing, most prospects didn’t encounter points after they upgraded to the AWS SDK for Java 2.17 from an earlier 2.x model. The next adjustments could also be observed by a subset of shoppers:

SDK Footprint Adjustments
As a result of the SDK now contains its personal “shaded” copy of Jackson, the footprint (whole jar measurement) of the SDK will change. Prospects who don’t use Jackson outdoors of the SDK will see an approximate 1 MB jar measurement lower. Prospects use Jackson outdoors of the SDK will see an approximate 500 KB jar measurement enhance, to account for the SDK’s inside copy of Jackson.

SDK Dependency Adjustments
Buyer purposes that use Jackson with out declaring their very own dependency on the library might not compile after upgrading to the SDK 2.17. For those who discover that your utility not compiles as a consequence of lacking Jackson packages or lessons, it’s best to add your personal dependency on Jackson to right the error. We additionally advocate configuring your undertaking to make use of the maven-dependency-plugin, which can guarantee you might be explicitly declaring all dependencies that you’re utilizing.

In case you have any questions or issues, you possibly can contact us on Github.

[ad_2]

Leave a Reply

Your email address will not be published. Required fields are marked *