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

от автора

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

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

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

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

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

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

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

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

  3. Найдите строки, в которых указано jcenter(), и добавьте mavenCentral() перед каждой из них (обязательно добавьте mavenCentral() в обоих местах, где находится 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/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *