Java does this pretty well, at least if you use Gradle, I think. You specify the location of the repository in the<p><pre><code>  repositories { ... } 
</code></pre>
block and then specify (with maven naming scheme)<p><pre><code>  dependencies { compile &quot;group:name:version&quot; }
</code></pre>
where group might be something like org.apache, name might be apache-commons and version might be 2.5.