title: Maven dependency resolution fails because properties are not substituted
body: <p>We've been working on a maven (3.0.5) project for a couple of months now, and suddenly we're getting this error when establishing new dev environments (without a local maven repository):</p>
  
  <pre><code>[ERROR] Failed to execute goal on project [100's of dependencies truncated]: Failed to read artifact descriptor for org.apache.httpcomponents:httpclient:jar:${httpcomponents.version}: Could not transfer artifact org.apache.httpcomponents:httpclient:pom:${httpcomponents.version} from/to nexus (http://bob.premitech.net:8081/nexus/content/groups/public): Illegal character in path at index 96: http://bob.premitech.net:8081/nexus/content/groups/public/org/apache/httpcomponents/httpclient/${httpcomponents.version}/httpclient-${httpcomponents.version}.pom -&gt; [Help 1]
  </code></pre>
  
  <p>I'm using a multi-module project, and the obvious thing you might think is wrong is that ${httpcomponents.version} isn't defined. Except it is defined as 4.2.5 in the parent pom. Even wierder, hardcoding the version instead of using the property does not change the error message.</p>
  
  <p>I've even tried removing the http components dependency entirely. This also does nothing. The only thing that does work is manually copying the correct dependency into the local maven repository (.m2), which completely defeats the purpose of using maven in the first place.</p>
  
  <p>Does anybody have the slightest idea what could be wrong here? Is there some kind of caching mechanism I'm not aware of?</p>