【发布时间】:2017-08-07 10:42:54
【问题描述】:
如何才能成功构建以下 Gradle 项目?
我已经建立了一个新项目。 settings.gradle 是:
rootProject.name = 'myproject'
build.gradle 是:
group 'mygroup'
version '1.0-SNAPSHOT'
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'idea'
sourceCompatibility = 1.5
repositories {
mavenLocal()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://mvnrepository.com/artifact/org.apache.commons/commons-lang3" }
}
dependencies {
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.6'
compile 'org.codehaus.groovy:groovy-all:2.3.11'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
如果我在 Gradle 工具窗口中使用“刷新所有 gradle 项目”,事件日志会显示:
找到未编制索引的远程 maven 存储库。 [禁用...] 您的 gradle 项目中使用的以下存储库尚未编入索引: https://plugins.gradle.org/m2 https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
项目结构 --> 问题告诉我:
库 Gradle:org.apache.commons:commons-lang3:3.6 已损坏 类路径:/home/myhome/git/myproject/Could not resolve org.apache.commons:commons-lang3:3.6.
有没有人知道构建 gradle 项目的良好指导网站(Getting started with Gradle 除外)?我还根据这些说明重新设置了项目,但我也无法解决任何依赖关系。 (启用自动导入并使用 Gradle 包装器)
【问题讨论】:
-
问题似乎出在
maven { url "https://mvnrepository.com/artifact/org.apache.commons/commons-lang3" }行,因为存储库应该指定根主机,而不是某些特定的包。 -
感谢@CrazyCoder 提供此信息!请对我的问题表示歉意,但是在这种情况下,根主机的 URL 是怎样的呢? (好像不是
https://mvnrepository.com/artifact/。至少,这对我的构建成功没有任何影响。) -
为什么还需要这个自定义存储库?你认为
mavenCentral没有commons-lang3? -
你说得对,
mavenCentral也提供 commons-lang3。所以,如果我删除这个 mvnrepository 条目并将“存储库”减少到mavenCentral(),问题仍然是我无法解决任何依赖关系。 (Gradle projects视图显示红色下划线“无法解析...”对于哪个 SourceSet。) -
它是从 IntelliJ IDEA 之外的命令行 Gradle 构建的吗?
标签: intellij-idea gradle build dependencies repository