title: Clojure How To Find and Manage Dependency conflicts.
body: <p>I recently ran into an issue where including a new dependency in my project broke the functionality of another, unrelated one. </p>
  
  <p>The two in question: </p>
  
  <pre><code>[amazonica "0.3.132"]
  [abengoa/clj-stripe "1.0.4"]
  </code></pre>
  
  <p>Including the above stripe breaks the amazon one, and throws the following error for s3 operations</p>
  
  <pre><code>ERROR org/apache/http/conn/SchemePortResolver
  java.lang.NoClassDefFoundError: org/apache/http/conn/SchemePortResolver
      at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.&lt;init&gt;(ApacheHttpClientFactory.java:41)
  </code></pre>
  
  <p>Removing the stripe library fixes the Amazon one, so I've come to suspect there's some sort of conflict there. My question, is how do I figure out what is causing the issue, and fix it. </p>
  
  <p>I found a similar issue on the repo: <a href="https://github.com/mcohen01/amazonica/issues/294" rel="nofollow noreferrer">https://github.com/mcohen01/amazonica/issues/294</a></p>
  
  <p>Which was fixed with </p>
  
  <pre><code>[clj-facebook-graph "0.4.0" :exclusions [clj-http]]
  </code></pre>
  
  <p>But I'd like to know how I'd be able to find out what is in the Stripe library that is causing the issue, and how I can go in and fix it without breaking the library. I'm also interested in more general ideas on how to do this so should I encounter it again I can fix the issue. </p>