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"]
overrides
[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]]
and
[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"]
overrides
[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.
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 https://stackoverflow.com/questions/2937406/how-to-bundle-a-native-library-and-a-jni-library-inside-a-jar but was wondering if there were other options