The jdk9 profile in our root pom specificies dependency management entries for some hadoop dependencies to exclude jdk.tools, as this dependency is no longer part of the jdk on version 9+.
However, since we also set the version of these dependencies we inadvertently interfere with the dependency tree of some modules.
Any module that relies on (transitively) depends on these, and works independently of our hadoop.version property (possible use-cases being to only work against a specific hadoop version), will be affected by the management entries and have their dependency tree changed.
The only one I know of right now is flink-swift-fs-hadoop. The consequence is that this module cannot be compiled on jdk9 if the hadoop.version property is not set to a compatible version.
Unfortunately I don't have a good solution available at the moment.
We cannot remove the versions from the management entries since the japicmp fails in that case.
There's no other way I know of to completely exclude a dependency.
We could set the hadoop.version property in the swift-fs module, but it's brittle as hell and who knows which other modules are affected.
So we may end up having to specify the exclusions in every module separately.