Hi,
it happens quite frequently that I’m contacted internally that our fat JARs are too large and consume too much storage, bandwidth etc. in our entire ecosystem. (In total obviously. A single fat JAR is not too large, but hundreds of builds accumulate after all)
One - if not THE - top 3rd party consumer in our fat JARs was and still is Hibernate. It’s a whopping 7MB large on 5.6.x and 6.1.x hasn’t really made it better. On the contrary, 6.1.x is at 9MB already.
In typical Spring-Boot apps of us, this is the TOP 10 of external libraries.
{noformat}7,1M hibernate-core-5.6.10.Final.jar 5,4M scala-library-2.13.0.jar 4,1M modelmapper-3.1.0.jar 3,7M byte-buddy-1.12.13.jar 3,5M swagger-ui-4.11.1.jar 2,6M guava-30.1.1-android.jar 2,3M undertow-core-2.2.19.Final.jar 2,1M commons-math3-3.6.1.jar 2,0M spring-data-redis-2.7.2.jar 2,0M aspectjweaver-1.9.7.jar{noformat}
As you can see Hibernate takes the top position here. With Hibernate 6 even by a larger margin.
Is there anything you can do to reduce this? E.g. is hibernate-core really {{core}} enough or is it containing too much stuff the average user doesn’t need 99% of the times time?
Cheers,
Christoph |
|