The main tradeoff is memory consumption and version control.
If you package libraries in an EAR, each application will create its own instances of the class, consuming a certain number of constants (or equivalent), and also taking up a lot of space for static data.
If you store the library in the lib application directory, there will be only one instance of each class. However, this means that each of the applications using this library must use the same version, and (if backward compatibility is not guaranteed) must be updated simultaneously.
, 100 EAR, , , . ( , 64- , ) ( ), EAR.