Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What happens when one requires Foo 1.0 and the other requires Foo 2.0, and the two are incompatible on ABI level?


When you are building some app in an ecosystem not entirely managed by you, things like this are bound to happen, so there are always ways to solve this.

You use Foo1 in Project1 (= one pom.xml) and create Project2 (=second pom.xml) where you use Foo2 (but package it in such a way that Foo2 is not exported from Project2), and depending on the usecase create a thin wrapper which you can then use from Project1, as an absolute worst case.


Notably, a lockfile does not solve this problem either.


True, but the lockfile is imposed at build time. Swapping out the version of a transitive dependency might build totally fine, but also might result is broken behaviour at runtime if the behaviour of the dependency changed.


Then you sit and cry of course




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: