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

ele*_*ect 10 intellij-idea gradle build.gradle

从某个时候开始,maven { url "whatever" }我得到了这个警告:

Imgur

是一个遇到问题的示例项目

它既不是阻挡者也不是关键,但它有点烦人

有人知道它来自哪里吗?

眼镜:

  • 想法IU 181.3263.15
  • JRE 1.8.0_152
  • 科特林1.2.21
  • gradle 4.4.1
  • 赢7 x64

Igo*_*man 20

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

maven {
    url = 'http://myrepo'
}
Run Code Online (Sandbox Code Playgroud)

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


tkr*_*use 3

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

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

如果你查看 Gradle API,你会发现它MavenArtifactRepository有两个方法:

void    setUrl(Object url)
void    setUrl(URI url)
Run Code Online (Sandbox Code Playgroud)

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