Как исключить определенную часть зависимости от gradle? - PullRequest
0 голосов
/ 11 июля 2019

Несколько зависимостей имеют похожий названный класс, и я получаю повторяющиеся ошибки класса. Чтобы решить, я думаю, что исключение этих частей может помочь. Как исключить эти части?

Ошибки + много похожих строк:

Duplicate class com.google.protobuf.AbstractMessageLite found in modules protobuf-java-3.7.1.jar (com.google.protobuf:protobuf-java:3.7.1) and protobuf-lite-3.0.1.jar (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.AbstractMessageLite$Builder found in modules protobuf-java-3.7.1.jar (com.google.protobuf:protobuf-java:3.7.1) and protobuf-lite-3.0.1.jar (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.AbstractMessageLite$Builder$LimitedInputStream found in modules protobuf-java-3.7.1.jar (com.google.protobuf:protobuf-java:3.7.1) and protobuf-lite-3.0.1.jar (com.google.protobuf:protobuf-lite:3.0.1)

Зависимость:

// gRPC
    implementation "io.grpc:grpc-okhttp:$grpcVersion"
    implementation "io.grpc:grpc-protobuf-lite:$grpcVersion"
    implementation "io.grpc:grpc-stub:$grpcVersion"
    implementation 'javax.annotation:javax.annotation-api:1.3.2'
    //protobuf 'com.google.protobuf:protobuf-java:3.8.0'//error persist with this and without this

    // OAuth2 for Google API
    implementation('com.google.auth:google-auth-library-oauth2-http:0.7.0') {
        exclude module: 'httpclient'
    }

    //Translation
    implementation "com.google.cloud:google-cloud-translate:$grpcVersion"
    implementation('com.google.cloud:google-cloud-translate:1.79.0') {
        exclude group: 'org.apache.httpcomponents'
        exclude group: 'org.json', module: 'json'

//I want to exclude error classes here...HOW?...
        //exclude group: 'com.google.protobuf', module: 'protobuf-java-3.7.1'
    }
    annotationProcessor "com.google.cloud:google-cloud-translate:$grpcVersion"

версия grpc на ext:

grpcVersion = '1.4.0'

они не связаны с поддерживаемыми версиями библиотек, так как это из-за библиотек translation и protobuf-lite . они используют разные версии этого класса, и я не знаю, будет ли исключение из них работать или нет.

Можно ли извлечь эти библиотеки и изменить имена классов? Я хочу посмотреть, может ли исключение из этих классов решить эту проблему. Как исключить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...