Как переключиться c JCenter на Maven Central

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Maven-репозиторий (Maven Central) - это репозиторий, размещённый на сайте Sonatype.org, а более точно сам репозиторий находится тут

Если в проекте используется репозиторий Bitray который является частью JCenter или же JCenter, то стоит оперативно задуматься о миграции на Mawen Central.

Так как компания JFrog внесла важные изменения, а именно объявила о закрытии JCenter, а соответственно и Bitray. А для разработчиков Android для зависимостей их приложений это означает следующее:

с 31 марта 2021 г. — библиотеки в JCenter больше не обновляются.
с 1 февраля 2022 г. - JCenter будет полностью закрыт.

Означает это только одно необходимо отключить JCenter и Bitray , чтобы продолжать получать обновления для библиотек и SDK, которые они используют. Большинство библиотеки уже доступны в Maven Central, поэтому миграция — это безопасный и простой процесс.

Давайте разберемся, как это сделать!

  1. Откройте корневой build.gradle

  2. Удалите строчку с репозиторием Bintray.

  3. Найдите строки, в которых указано jcenter(), и добавьте mavenCentral() перед каждой из них (обязательно добавьте mavenCenteral() в обоих местах, где находится jcenter()).

После этого изменения ваш build.gradle будет выглядить так:

// Top-level build file.
buildscript {
    repositories {
        google()
        mavenCentral() //Новая линия
        jcenter() //Позже удалим
       // NOTE: не меняйте записи внесенные ранее
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.2"
     // NOTE: не меняйте записи внесенные ранее
    }
}

allprojects {
    repositories {
        google()
        mavenCentral() // Новая линия
        jcenter()//Позже удалим
       // NOTE:  не меняйте записи внесенные ранее
    }
}

Обратите внимание что mavenCentral() должен находиться выше jcenter(). Это будет означать что mavenCentral() будет чвляться основным репозиторием, а jcenter() вспомогательным.

  1. Синхронизируйте проек, нажав "Sync Now" 

Но давайте все же удалим полностью jcenter()

В моем случае ошибок не обнаружилось, но если сообщения о ошибках все же получено, это озночает что этой библиотеке или SDK в вашем проекте нет в Maven Central, проверьте журнал сборки и свяжитесь с поставщиками этих зависимостей, чтобы получить рекомендации по их стратегии миграции.

Но имейте в виду, что JCenter больше не будет работать после 1 февраля 2022 года.

Источник: https://habr.com/ru/post/646139/


Интересные статьи

Интересные статьи

Предисловие Решил я что то сделать полезное. Был проект в котором мы должны были вместо старого сервиса сделать новый, но лучше. Сервис большой получился, 10к строк бизнесс-правил+код на...
Мне было необходимо делать 2 раза в сутки бэкап сайта на «1С-Битрикс: Управление сайтом» (файлов и базы mysql) и хранить историю изменений за 90 дней. Сайт расположен на VDS под уп...
«Битрикс» — кошмар на костылях. Эта популярная характеристика системы среди разработчиков и продвиженцев ныне утратила свою актуальность.
От скорости сайта зависит многое: количество отказов, брошенных корзин. Согласно исследованию Google, большинство посетителей не ждёт загрузки больше 3 секунд и уходит к конкурентам. Бывает, что сайт ...
Некоторое время назад мне довелось пройти больше десятка собеседований на позицию php-программиста (битрикс). К удивлению, требования в различных организациях отличаются совсем незначительно и...