I recently ran into an issue where including a new dependency in my project broke the functionality of another, unrelated one.
The two in question:
[amazonica "0.3.132"]
[abengoa/clj-stripe "1.0.4"]
Including the above stripe breaks the amazon one, and throws the following error for s3 operations
ERROR org/apache/http/conn/SchemePortResolver
java.lang.NoClassDefFoundError: org/apache/http/conn/SchemePortResolver
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.<init>(ApacheHttpClientFactory.java:41)
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.
I found a similar issue on the repo: https://github.com/mcohen01/amazonica/issues/294
Which was fixed with
[clj-facebook-graph "0.4.0" :exclusions [clj-http]]
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.