Dependency reduced poms require mutation of the model after the build started. JvZ is investigating a different packaging type to resolve this... Workaround for now is to mark all the dependencies that are removed as <optional>true</optional> so that they are no longer transitive and that way the effective reactor Pom is the same from a transitive dependency PoV as the dependency reduced one that gets published
On Thursday 10 December 2015, Robert Metzger <rmetz...@apache.org> wrote: > Hi, > > The Apache Flink project is using Maven for dependency management. We shade > Google's Guava away (to org.apache.flink.shaded.com.google.commons) to > avoid conflicts with user guava versions. > > Building Flink with Maven 3.2.5 will create a valid fat-jar without guava. > However, Maven 3.3.9 (and other 3.3.x versions) are including guava in the > com/google/commons namespace. > Interestingly, doing only a "clean install" in the "flink-dist" package > after a build of the parent pom results in a correct "flink-dist" fat jar. > > I'm wondering which behavior of Maven is correct 3.2 or 3.3 ? > I have the feeling that 3.3 is behaving incorrectly because the > dependency:tree of "flink-dist" does not contain Guava. > Maybe a "clean install" on the parent pom with Maven 3.3 is not respecting > the dependency-reduced poms created by the other modules? > > Regards, > Robert > -- Sent from my phone