title: Why does google-api-client depend on guava-jdk5?
body: <p>I have a dependency on Guava in my Maven dependencies:</p>
  
  <pre><code>&lt;dependency&gt;
      &lt;groupId&gt;com.google.guava&lt;/groupId&gt;
      &lt;artifactId&gt;guava&lt;/artifactId&gt;
      &lt;version&gt;23.3-jre&lt;/version&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <p>I also have a dependency to Google API Client in my dependencies:</p>
  
  <pre><code>&lt;dependency&gt;
      &lt;groupId&gt;com.google.api-client&lt;/groupId&gt;
      &lt;artifactId&gt;google-api-client&lt;/artifactId&gt;
      &lt;version&gt;1.23.0&lt;/version&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <p>But for some odd reason, this has the following dependency:</p>
  
  <pre><code>&lt;dependency&gt;
    &lt;groupId&gt;com.google.guava&lt;/groupId&gt;
    &lt;artifactId&gt;guava-jdk5&lt;/artifactId&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <p>Now my WAR ends up with two Guava JARs:</p>
  
  <ul>
  <li>guava-23.3-jre.jar</li>
  <li>guava-jdk5-17.0.jar</li>
  </ul>
  
  <p>This gives several issues, since the runtime prefers <code>guava-jdk5-17.0.jar</code> while the code is compiled with <code>guava-23.3-jre.jar</code>.</p>
  
  <p>Why does Google API Client have dependency on Guava for JDK5? Wouldn't it make more sense to have two versions, like:</p>
  
  <ul>
  <li><code>google-api-client</code> which depends on regular Guava, preferably version 23.3 (as of current)</li>
  <li><code>google-api-client-jdk5</code> which depends on Guava for JDK5</li>
  </ul>