mihirg
mihirg

Reputation: 951

gradle exclude a transitive dependency

I am trying to exclude a transitive dependency in gradle

    implementation (('org.apache.kafka:kafka-streams:2.3.0'), {
        exclude 'org.rocksdb:rocksdbjni:5.18.3'
    })

I am seeing this error

Could not find method exclude() for arguments [org.rocksdb:rocksdbjni:5.18.3] on DefaultExternalModuleDependency{group='org.apache.kafka', name='kafka-streams', version='2.3.0', configuration='default'} of type org.gradle.api.internal.artifacts.dependencies.DefaultExternalModuleDependency.

I am using gradle 5.6.1

Upvotes: 6

Views: 24042

Answers (2)

PrasadU
PrasadU

Reputation: 2438

Reference

Groovy:

implementation('org.apache.kafka:kafka-streams:2.3.0') {
    exclude group: 'org.apache.kafka', module: 'kafka-streams'
}

Kotlin:

implementation("org.apache.kafka:kafka-streams:2.3.0") {
    exclude(group = "org.apache.kafka", module = "kafka-streams")
}

As you can see the exclude can only support group and module arguments - not the single string format group:module:version.

Upvotes: 10

Krishan Viduranga
Krishan Viduranga

Reputation: 401

implementation ('org.apache.kafka:kafka-streams:2.3.0'){
   //transitive dependency:org.rocksdb:rocksdbjni:5.18.3
   exclude group: 'org.rocksdb', module: 'rocksdbjni'
}

Upvotes: 1

Related Questions