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