Hello Niels, I believe you used the shade maven plugin or equivalent. I faced this problem multiple times and to my knowledge, there is no "good" solution. The problem is that Maven computes the dependency graph for all modules of the reactor right at the start. But when the shade plugin integrates ANTLR inside your library, this library should not depend onto ANTLR anymore. But because the dependency graph was computed at the start, other modules of the reactor depending onto your library still depend onto ANTLR even if there is already a shaded version of ANTLR inside your library.
So in the end, in the same reactor execution, module MUST NOT depend onto a shaded module. They must be considered as 'final' modules. I hope this may help François *- - - - -François Marot06 50 91 96 38* Le ven. 8 juil. 2022 à 16:51, Niels Basjes <ni...@basjes.nl> a écrit : > Hi, > > I have a library project that uses dependencies that are prone to cause > conflicts when another project wants to use my software. > Antlr4 is a common example because it enforces the versions of the > generated code and the runtime to be an exact match. > > In my maven project I have a main library and to avoid conflicts in > downstream applications the antlr4-runtime has been shaded and relocated to > a different package name. > Using this modified jar in any project works as expected. > > When I want to use this in a different maven module of the same project it > does not work like that. > In my multi module maven project I found that the other modules (UDFs, demo > webservlet, etc) use the unshaded variant of the library, which sometimes > causes conflicts. > I think this is how the maven reactor is intended to work. > > Essentially I think I want to have the option to make a specific module of > my project be built as-if it is an external project (i.e. "outside" the > reactor). > > So far I have only found the invoker plugin to be a way to make this > happen. > > What is the recommended way to handle this? > > -- > Best regards / Met vriendelijke groeten, > > Niels Basjes >