title: Why is my ant builder building an outdated version of one of my dependencies?
body: <p>I am working on two java projects. Project A uses Project B as a referenced library. I need to export my code from both of these projects in a single jarfile. To do this, I created a <code>lib/</code> folder in Project A and automatically export Project B to that folder. I then automatically export project A with a buildfile like this one, such that all jarfiles in the <code>lib/</code> folder are included in the final jar:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project name="projectA" default="makejar" basedir="."&gt;
      &lt;target name="makejar" description="Create a jar for the project"&gt;
          &lt;jar destfile="/destination/file/path/projectA.jar"&gt;
              &lt;fileset dir="bin/"&gt;&lt;/fileset&gt;
              &lt;zipgroupfileset dir="./lib" includes="**/*.jar"/&gt;
          &lt;/jar&gt;
     &lt;/target&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>This has been working fine for months. A few hours ago, however, this began exporting only an outdated version of B. I decompiled the code in the <code>lib/</code> folder and determined that the B export is indeed up to date. However, my decompiled code in the destination file includes an out of date version of B.</p>
  
  <p>I have tried:</p>
  
  <ul>
  <li>restarting eclipse</li>
  <li>cleaning/rebuilding all projects</li>
  <li>deleting the existing jarfile at the destination</li>
  <li>deleting B from <code>lib/</code>, re-exporting B, and reconfiguring my build path for A</li>
  <li>Window --> Show View --> Problems</li>
  </ul>
  
  <p>How do I go about diagnosing this problem? Bonus points if you have a better way of managing dependencies so that I won't have to sink ~30% of my development time into stuff like this.</p>