我正试图使用Gradle从Maven Central下载我最新发布的依赖项:
repositories {
mavenCentral()
}
dependencies {
implementation 'io.github.iltotore:ec-client_2.13:1.0-fixed'
}
当尝试构建时,我得到一个错误:
Could not find io.github.iltotore:core:1.0-fixed.
Required by:
project : > io.github.iltotore:ec-client_2.13:1.0-fixed
但是io。github。iltotore:core:1.0-fixed不在lib的pom中,我的朋友可以毫无错误地使用它。
为了解决这个问题,我尝试了:
>
删除~/. gradle/中的缓存
使用Intellij IDEA使缓存无效
删除我的maven local
但这个问题仍然存在。
我将Gradle 6.5与Intellij IDEA 2020.1.2结合使用。
从Gradle 6.0开始,Maven Publish插件还将发布Gradle Module元数据。元数据的文件扩展名为。模块
,您可以在此处的存储库中看到它。
如果打开pom文件,您会注意到顶部有一条注释,上面写着:
xml prettyprint-override"><!-- This module was also published with a richer model, Gradle metadata, -->
<!-- which should be used instead. Do not delete the following line which -->
<!-- is to indicate to Gradle or any Gradle module metadata file consumer -->
<!-- that they should prefer consuming it instead. -->
<!-- do_not_remove: published-with-gradle-metadata -->
这指示Gradle使用元数据文件而不是pom文件。
如果打开元数据文件,可以看到它确实对不存在的模块具有依赖性:
"dependencies": [
...
{
"group": "io.github.iltotore",
"module": "core",
"version": {
"requires": "1.0-fixed"
}
}
]
由于核心在任何版本中都不存在,我认为这是一个错误。可能您正在自定义pom文件,但没有对模块元数据进行自定义。
有几种方法可以解决这个问题(以下所有代码片段都是针对Groovy DSL的)。
这样,您就可以完全依赖pom文件。您可以通过以下方式实现:
tasks.withType(GenerateModuleMetadata) {
enabled = false
}
请参见《Gradle用户指南》中的“了解Gradle模块元数据”。
请注意,这对所有模块都有效,而不仅仅是损坏的模块:
repositories {
mavenCentral {
metadataSources {
mavenPom()
artifact()
ignoreGradleMetadataRedirection()
}
}
}
请参见《Gradle用户指南》中的声明存储库。
像这样的东西:
dependencies {
dependencies {
components {
// Fix wrong dependency in client_2.13
withModule("io.github.iltotore:ec-client_2.13") {
allVariants {
withDependencies {
removeAll { it.group == "io.github.iltotore" && it.name == "core" }
}
}
}
}
}
implementation 'io.github.iltotore:ec-client_2.13:1.0-fixed'
}
请参阅Gradle用户指南中的使用组件元数据规则修复元数据。
我有一个MultiProject gradle,但在我的控制器模块中gradle似乎没有下载spring引导依赖项(或任何其他的东西)。根级构建运行顺利,没有任何错误,但我不能导入任何依赖项类到我的源代码。 以下是gradle文件: 多项目的根生成.级 内部项目Build.Gradle 编辑:settings.gradle 任何帮助都将不胜感激。
我正在学习创建java ee web应用程序。在intellij idea中,我使用项目向导创建了一个项目:Java Enterprise->Web Application。然后,我在项目根中创建了一个构建文件.gradle,并在终端中调用、。这是构建文件。Gradle 当我添加依赖项并进行渐进式构建时,它们不会加载到项目中。例如,Gson库在代码中不可用。如何告诉Gradle下载这些库以便我可以
我正在尝试添加以下依赖项:
有没有办法下载Gradle实现。aar文件的名称。例如,有一个在build.gradle文件中编写的实现,比如实现'com.squareup.picasso:2.5.2',是否可以在没有gradle的情况下按名称'com.squareup.picasso:2.5.2'下载。aar库文件。我正在寻找一种方法来下载任何类型的库在一个android项目的build.gradle文件中提到。
我可以使用Gradle下载Java外部依赖项而不编译源代码吗?