Gradle,' url'无法应用于(java.lang.String)

时间:2018-02-07 09:28:57

标签: gradle intellij-idea build.gradle

从某个时间开始,在任何maven { url "whatever" }我收到此警告:

Imgur

Here遇到问题的示例项目

既不是阻挡者也不是关键,但它有点讨厌

有人知道它来自哪里吗?

规格:

  • Idea IU 181.3263.15
  • JRE 1.8.0_152
  • kotlin 1.2.21
  • gradle 4.4.1
  • Win 7 x64

2 个答案:

答案 0 :(得分:20)

要使IntelliJ IDEA停止抱怨,您可以使用:

maven {
    url = 'http://myrepo'
}

我认为是setUrl('http://myrepo')的Groovy快捷方式。

答案 1 :(得分:3)

您的IDE正在分析Gradle DSL。使用完全扩展的语法,您的代码如下所示:

project.dependencies({(RepositoryHandler handler) -> {
   handler.maven({(MavenArtifactRepository repository) -> {
       repository.setUrl("https://...");
   });
};

如果您查看Gradle API,可以看到MavenArtifactRepository有两种方法:

void    setUrl(Object url)
void    setUrl(URI url)

所以IDE说你应该通过ObjectURI。如果使用setUri(...),烦人的IDE警告应该消失。