我想将 jitpack.io 添加为我的 gradle 文件中的存储库。这是我的 gradle 根文件:
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
由于我没有“allrepositories”来放置我的依赖项(仅适用于那里),因此我在 buildscript 代码之后创建并添加了此代码:
allprojects {
repositories {
maven {url 'https://www.jitpack.io'}
}
}
Run Code Online (Sandbox Code Playgroud)
但这是我得到的错误
Caused by: org.gradle.api.InvalidUserCodeException: Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'
Run Code Online (Sandbox Code Playgroud)
小智 478
Gradle 6.8 引入了存储库的中央声明,这是定义存储库的新方法。最新文档 (7.4.2)可在此处找到。
您有 2 个选择:
为此,您需要dependencyResolutionManagement从setting.gradle文件中删除该块(=新方法)。然后repositories你的配置build.gradle将再次工作(=旧方式)。
build.gradle (与您的示例相比没有变化)
allprojects {
repositories {
maven {url 'https://www.jitpack.io'}
}
}
Run Code Online (Sandbox Code Playgroud)
前进的方向是编辑build.gradle删除该repositories声明。然后编辑settings.gradle以包含 Maven 配置。
设置.gradle
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Run Code Online (Sandbox Code Playgroud)
小智 283
您可以将jitpack.io添加为settings.gradle 中dependencyResolutionManagement内的存储库
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Run Code Online (Sandbox Code Playgroud)
Seu*_*att 111
您需要更新设置settings.gradle并更改repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)为repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
最后,添加maven { url 'https://jitpack.io' }到存储库块。
完整的settings.gradle文件将如下所示:
import org.gradle.api.initialization.resolve.RepositoriesMode
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven { url 'https://jitpack.io' }
}
}
rootProject.name = "appname"
include ':app'
Run Code Online (Sandbox Code Playgroud)
lav*_*ava 75
替换这一行:
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
Run Code Online (Sandbox Code Playgroud)
用这个:
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
Run Code Online (Sandbox Code Playgroud)
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
Run Code Online (Sandbox Code Playgroud)
小智 23
转到 Settings.gradle 并将其放入存储库中
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Run Code Online (Sandbox Code Playgroud)
Mor*_*ori 19
gradle version '7.1.0'只需要添加maven { url 'https://jitpack.io' }进去即可setting.gradle
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Run Code Online (Sandbox Code Playgroud)
Shr*_*sey 19
解决方案:
您可以在settings.gradle(Project Settings)文件中添加此 url ,您可以在Gradle Scripts中找到该文件,
像这样在dependencyResolutionManagement中添加您的 url
dependencyResolutionManagement{
maven {
url 'https://jitpack.io'
}
}
Run Code Online (Sandbox Code Playgroud)
现在同步它,它会起作用,
谢谢你!:)
就我而言,我只是删除了dependencyResolutionManagement{...}在settings.gradle新项目中默认添加在settings.gradle中的语句
| 归档时间: |
|
| 查看次数: |
251754 次 |
| 最近记录: |