Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Implemented
-
None
Description
When building each Ozone component, its dependencies are listed in a classpath descriptor file, to be used at runtime.
Dependencies are copied to the share/ozone/lib directory only when building the ozone-dist module. It depends on all other Ozone modules directly or transitively. Since ozone-dist is a single module, third-party transitive dependency versions are resolved by Maven to a single version. Only that version is copied to share/ozone/lib. However, various Ozone components may depend on different versions of the same third-party module. These different versions can end up in the classpath files, but will not be found at runtime.
This is mitigated by the dependency convergence check.
We can fix the root cause by copying dependencies when building each module.
Attachments
Issue Links
- links to