Understanding Maven Version Ranges
<p>Assume that I have an artifact with versions </p>

<pre><code>1.0-SNAPSHOT, 1.0, 1.1, 1.2-SNAPSHOT
</code></pre>

<p>in my Maven repository. Now, when I specify a version range</p>

<pre><code>[1.0-SNAPSHOT,)
</code></pre>

<p>for this artifact (and assume there are no other version requirements), will Maven resolve it to 1.1 or 1.2-SNAPSHOT?</p>

<p>I have read that version ranges resolve to release versions if both boundaries are release versions but haven't understood the exact behaviour if one of the boundaries is a SNAPSHOT.</p>

<p>Background: For some legacy reasons, we have release artifacts which depend on SNAPSHOT artifacts. These SNAPSHOT artifacts are removed when a release version is available (which breaks Maven builds). Logically, I am aiming for the behaviour: Take the SNAPSHOT version, but replace it with a release version as soon as one is available.</p>