Remix.run Logo
cogman10 4 days ago

Maven builds are deterministic (so long as you don't have SNAPSHOT dependencies). The version resolution is insane but deterministic. You'll only break that determinism if you change the dependencies.

That's precisely because maven doesn't support version ranges. Maven artifacts are also immutable.

Maven also supports manual override when the insane resolution strategy fails that's the "dependencymanagement" section.

aidenn0 4 days ago | parent | next [-]

Lockfile builds are also deterministic. You only break that determinism if you change the lockfile.

4 days ago | parent | prev | next [-]
[deleted]
javanonymous 4 days ago | parent | prev | next [-]

You can use version range with a maven plugin

https://maven.apache.org/enforcer/enforcer-rules/versionRang...

deepsun 4 days ago | parent | prev [-]

I typically just add an <exclusion> for one of my top level dependency, so Maven picks from some other.