-
由 Stephan Ewen 提交于
Currently, every project in Flink has a hard (compile scope) dependency on the jsr305, slf4j, and log4j artifacts. That way they are pulled into every fat jar, including user fat jars as soon as they refer to a connector or library. This commit changes the behavior in two ways: 1. It removes the concrete logger dependencies from the root pom file. Instead, it adds them to the 'flink-core' project. That way, all modules that refer to 'flink-core' will have those dependencies as well, but the projects that have 'flink-core' as provided (connectors, libraries, user programs, etc) will have those dependencies transitively as provided as well. 2. The commit overrides the slf4j and jsr305 dependencies in the parents of 'flink-connectors', 'flink-libraries', and 'flink-metrics' and sets the to 'provided'. That way all core projects pull the logger classes, but all projects that are not part of flink-dist (and rather bundled in fat jars) will not bundle these dependencies again. The flink-dist puts the dependencies into the fat jar (slf4j, jsr305) or the lib folder (log4j).
cefb8db3