title: Why does maven use my internal repository before my local repository?
body: <p>when I am doing development I often need to change a dependency, but I'm not ready to deploy my changes.  For example, I'm working on project Foo and I realize I need to add a method to the common library.  Before deploying this change to our internal repository, I would like to install the changes to common library (<code>mvn install</code>) and recompile Foo to use the common library in the local repository (note that I'm using all SNAPSHOT versions).</p>
  
  <p>However, after I <code>mvn install</code> my common library, when I recompile Foo it doesn't use the new common library--it keeps using the latest SNAPSHOT of common library in the internal repository.  If I deploy the changed common library, Foo picks it up immediately.</p>
  
  <p>How can I get maven to look first in the local repository?</p>
  
  <p>UPDATE: when the file is installed into the local repository, it gets a name like <code>foo-1.0.0-SNAPSHOT.jar</code>, but when I deploy it, it gets a timestamp <code>foo-1.0.0-20111104.191316-23.jar</code>.  I think this is why the remote artifact gets pulled each time.  Any idea why <code>mvn install</code> is not working like <code>mvn deploy</code>?  Does it have to do with the fact that I have a snapshot repository set up for deploy?</p>