我是否应该担心 JCenter 被弃用?为什么要将我的库从 JCenter 迁移到其他Maven资源库?我可以继续在Gradle构建脚本中使用jcenter()吗?
jcenter()
c0vxltue1#
替换
与此:
mavenCentral()
8yparm6h2#
根据this Gradle blog post:
您仍然可以使用 JCenter 作为存储库,但Gradle会发出警告。jcenter()方法将在下一个主要版本中删除。Gradle与 JCenter 或 Maven Central 没有内在联系,因此您可以随时切换到您选择的任何其他存储库。而根据Android Developers:JFrog是一家维护许多Android项目所使用的 JCenter 构件库的公司,最近宣布了 JCenter 的弃用和即将退役。根据the announcement,JCenter 在2022年2月1日之前将允许下载现有工件。在 JCenter 上发布工件的开发人员应开始将包迁移到新主机,如 Maven Central。因此,只需确保作者在其他存储库中提供了他们的库,然后更新您的构建脚本以支持从这些存储库下载。例如,在Gradle中,使用mavenCentral()函数可以从Maven Central存储库获取依赖项。
vom3gejh3#
JFrog网站上提到的here的最新更新如下:更新日期:2021年4月27日我们听取了社区的意见,并将无限期地将JCenter作为一个只读存储库。我们的客户和社区可以继续依赖JCenter作为Java包的可靠镜像。
mfuanj7w4#
将jcenter()替换为:
gradlePluginPortal() mavenCentral()
bnl4lu3b5#
你必须改变
与
此外,您必须设置一个或多个存储库URL:
repositories { mavenCentral() maven { url = "https://repo1.maven.org/maven2/" } maven { url "https://repo.spring.io/release" } maven { url "https://repository.jboss.org/maven2" } maven { url 'https://repo.jenkins-ci.org/public/' } }
soat7uwm6#
实际上,开发人员应该将他们的库移植到Maven或Google。在这种情况下,可以从Gradle中删除jCenter()。当不再维护旧库或开发人员退休时,就会出现问题。只有两种可能性:a)例如在Maven中搜索类似的库。B)从GitHub下载相应的源代码,并从中创建自己的本地库。截至2022年2月1日,JCenter已明确关闭。
mkshixfv7#
在我的情况下,我已经按照以下步骤来完成它:1.将mavenCentral()置于jcenter()之前1.使用Android Studio升级助手升级gradle(在我的情况下升级到7. 0. 3)1.通过插件安装NDK(并排)(Android Studio)1.清理并重建项目
apeeds0o8#
我尝试了所有的方法,但是没有任何效果,然后手动添加了一个新的Maven存储库,现在它可以工作了。
repositories { // ... maven { url 'https://repo.gradle.org/gradle/libs-releases/' } }
uidvcgyl9#
现在什么都不管用了。我们暂时可以使用aliyun.com。在顶层build.gradle中这样使用它
build.gradle
buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/central' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } maven { url 'https://maven.aliyun.com/repository/apache-snapshots' } } dependencies { *** } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/central' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } maven { url 'https://maven.aliyun.com/repository/apache-snapshots' } } }
9条答案
按热度按时间c0vxltue1#
替换
与此:
8yparm6h2#
请查看新答案。
总结:2022年2月1日之后,
jcenter()
将不再工作。根据this Gradle blog post:
jcenter()
来解析依赖项。您仍然可以使用 JCenter 作为存储库,但Gradle会发出警告。
jcenter()
方法将在下一个主要版本中删除。Gradle与 JCenter 或 Maven Central 没有内在联系,因此您可以随时切换到您选择的任何其他存储库。
而根据Android Developers:
JFrog是一家维护许多Android项目所使用的 JCenter 构件库的公司,最近宣布了 JCenter 的弃用和即将退役。
根据the announcement,JCenter 在2022年2月1日之前将允许下载现有工件。
在 JCenter 上发布工件的开发人员应开始将包迁移到新主机,如 Maven Central。
因此,只需确保作者在其他存储库中提供了他们的库,然后更新您的构建脚本以支持从这些存储库下载。
例如,在Gradle中,使用
mavenCentral()
函数可以从Maven Central存储库获取依赖项。vom3gejh3#
JFrog网站上提到的here的最新更新如下:
更新日期:2021年4月27日我们听取了社区的意见,并将无限期地将JCenter作为一个只读存储库。我们的客户和社区可以继续依赖JCenter作为Java包的可靠镜像。
mfuanj7w4#
将
jcenter()
替换为:bnl4lu3b5#
你必须改变
与
此外,您必须设置一个或多个存储库URL:
soat7uwm6#
实际上,开发人员应该将他们的库移植到Maven或Google。在这种情况下,可以从Gradle中删除jCenter()。
当不再维护旧库或开发人员退休时,就会出现问题。
只有两种可能性:
a)例如在Maven中搜索类似的库。
B)从GitHub下载相应的源代码,并从中创建自己的本地库。
截至2022年2月1日,JCenter已明确关闭。
mkshixfv7#
在我的情况下,我已经按照以下步骤来完成它:
1.将mavenCentral()置于jcenter()之前
1.使用Android Studio升级助手升级gradle(在我的情况下升级到7. 0. 3)
1.通过插件安装NDK(并排)(Android Studio)
1.清理并重建项目
apeeds0o8#
我尝试了所有的方法,但是没有任何效果,然后手动添加了一个新的Maven存储库,现在它可以工作了。
uidvcgyl9#
现在什么都不管用了。我们暂时可以使用aliyun.com。
在顶层
build.gradle
中这样使用它