Hi Jacopo,

I have to dig some more to confirm but I believe Gradle automatically
resolves transitive dependencies and the newer version usually wins. You
can confirm that by typing ./gradlew dependencies, and whenever you see an
asterisk next to a package you know that this package is overridden
elsewhere by another transitive dependency.

As I was discussing this with Jacques earlier I think this is a very
complex subject because of dependency hell. We really need to cut down on
the number of libraries used by OFBiz because each Library pulls too many
transitive dependencies.

Another thing to note is that the special purpose components especially
birt pull a lot of libraries that override some of the libraries in core
system.

Taher Alkhateeb

On Sep 3, 2016 4:57 PM, "Jacopo Cappellato" <
[email protected]> wrote:

> Hi all,
>
> I have a general question about transitive dependencies.
> Here is an example use case:
> OFBiz depends on 2 external jars: jar1 and jar2
> jar1 depends on log4j-version1
> jar2 depends on log4j-version2
>
> How should we manage the two versions of the same product (log4j in this
> exemple), containing most likely the same classes, since they are both in
> the classpath?
>
> Thanks,
>
> Jacopo
>

Reply via email to