Fork me on GitHub
λustin f(n)16:03:16

Is there a lein command that will tell me what deps are bringing something in? I think I have 3+ libraries fighting over which version of org.clojure/java.jdbc to use and I want to find out what they are


lein deps :tree


The only issue is I don’t think it’ll show you specifically the conflict - you’ll just see the final decision of which one was chosen. If they are coming in on the same “transitive dependency tree” level, then I believe it’s first one traversed wins (could be last, but I think it’s first)


you can do an :exclusions on the one that it chooses to see what the next would be, and so on


I thought lein deps tree showed me conflicts explicitly last I checked?


% lein deps :tree
Possibly confusing dependencies found:
[org.apache.kafka/kafka-clients "2.3.1"]
[io.confluent/kafka-avro-serializer "5.3.1"] -> [io.confluent/kafka-schema-registry-client "5.3.1"] -> [org.apache.kafka/kafka-clients "5.3.1-ccs" :exclusions [org.slf4j/slf4j-log4j12]]
[io.confluent/kafka-schema-registry-client "5.3.1" :exclusions [com.fasterxml.jackson.core/jackson-databind]] -> [org.apache.kafka/kafka-clients "5.3.1-ccs" :exclusions [org.slf4j/slf4j-log4j12]]

Consider using these exclusions:
[io.confluent/kafka-avro-serializer "5.3.1" :exclusions [org.apache.kafka/kafka-clients]]
[io.confluent/kafka-schema-registry-client "5.3.1" :exclusions [org.apache.kafka/kafka-clients com.fasterxml.jackson.core/jackson-databind]]

[io.confluent/kafka-schema-registry-client "5.3.1" :exclusions [com.fasterxml.jackson.core/jackson-databind]] -> [org.apache.avro/avro "1.8.1"] -> [com.thoughtworks.paranamer/paranamer "2.7"]
[org.apache.kafka/kafka_2.11 "2.3.1"] -> [com.fasterxml.jackson.module/jackson-module-scala_2.11 "2.10.0" :exclusions [*/jms */mail */javax */jmxri */jline */jmxtools]] -> [com.fasterxml.jackson.module/jackson-module-paranamer "2.10.0"] -> [com.thoughtworks.paranamer/paranamer "2.8"]

Consider using these exclusions:
[org.apache.kafka/kafka_2.11 "2.3.1" :exclusions [com.thoughtworks.paranamer/paranamer]]

 [aleph "0.4.6"]
   [byte-streams "0.2.4"]


ah in the error output


I often only look at the output map - so forgot about those details. Thanks for clarifying.

🍻 4

Hi everyone, I am trying to use a java library that has native library dependencies (respectively [com.amazonaws/DynamoDBLocal "1.12.0"] and sqlite4java ) inside a library I am working on and I am not sure how I can package the native dependencies with my library I have tried copying the native dependencies to my resources and set :jvm-opts [“-Dsqlite4java.library.path=resources/native-libs/sqlite4java-392/“] and then I can lein run but then when I build and run the standalone uberjar it can’t find the native library anymore


I found some potential hacks on SO e.g but was wondering if there were other options