Хобрук: Ваш путь к мастерству в программировании

Конфликт библиотеки Gradle

У меня есть зависимость модуля в моем проекте. Эта зависимость содержит старую версию сервисов Google. Но мой основной проект включает в себя последний. В результате я получаю исключение при создании проекта:

Error:(93, 17) error: cannot find symbol method getMapAsync(<anonymous OnMapReadyCallback>)

Кажется, что Gradle пытается использовать более старую версию API сервисов Google. Как я могу исключить эту библиотеку из финального проекта? Я слышал о транзитивных зависимостях. Это правильный способ решить эту проблему?


Ответы:


1

Вот как вы можете исключить транзитивную зависимость:

configurations {
  compile.exclude module: 'commons'
  all*.exclude group: 'org.gradle.test.excludes', module: 'reports'
}

dependencies {
  compile("org.gradle.test.excludes:api:1.0") {
      exclude module: 'shared'
  }
}

См. https://docs.gradle.org/current/userguide/dependency_management.html

Если вы не хотите исключать зависимость, вы также можете использовать resolutionStratgy, чтобы принудительно указать номер версии в проектах.

См. https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

07.12.2015
Новые материалы

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..

Обзор 20 основных и современных методов работы с массивами в JavaScript
Вы знаете их всех? В этом коротком посте я покажу сводку методов, доступных в JavaScript для работы с массивами. Я надеюсь, что вы найдете это полезным! В конце поста вы найдете ссылку на..

Да, но я чувствую необходимость указать, что это или не единственные два.
Да, но я чувствую необходимость указать, что это или не единственные два. Обучение с подкреплением (в качестве примера) также является важным.