On Tuesday, 30 October 2012 at 15:00:03 UTC, Jacob Carlborg wrote:
On 2012-10-30 13:25, Paulo Pinto wrote:
.NET and OSGi are similar approaches, because they rely on
dynamic linking.
The package manager only works with static linking, otherwise
you might
get into the situation it compiles fine, but runs into version
conflicts
when running. Common scenario to anyone doing Java development.
I would say, in this case, that you haven't specified the
versions correctly.
Not really.
Let's say you compile everything fine, but on the deployment
platform, some IT guy has the cool idea of changing some
configuration
settings.
That change will have as side effect that some third party
dependencies will now be matched to another version different
than what was used by the package manager.
You'll spend a few hours trying to track down the issue, in case
you forget about checking the dynamic resolution order.
This is why Plan 9, Singularity and the Go guys are so much
against dynamic linking.
--
Paulo