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

Reply via email to