kotlin gradle dsl问题:类型不匹配:推断类型是字符串但URI!预计
Posted
技术标签:
【中文标题】kotlin gradle dsl问题:类型不匹配:推断类型是字符串但URI!预计【英文标题】:kotlin gradle dsl problem : Type mismatch: inferred type is String but URI! was expected 【发布时间】:2021-11-04 08:15:18 【问题描述】:我正在尝试将 Gradle's Groovy DSL
转换为 Kotlin DSL
Gradle Groovy 代码是:
repositories
maven
url "https://repo.tools.telstra.com/repository/maven-public"
mavenCentral()
maven
url 'https://plugins.gradle.org/m2/'
我正在尝试将其转换为Kotlin DSL
,如下所示:
repositories
maven url = ("https://repo.tools.telstra.com/repository/maven-public")
mavenCentral()
maven url = ('https://plugins.gradle.org/m2/')
因此我收到以下错误:
类型不匹配:推断的类型是 String 但 URI!预料之中
如何在此处设置 URI?
【问题讨论】:
【参考方案1】:相当于 Groovy DSL 的
maven
url "https://repo.tools.telstra.com/repository/maven-public"
在 Kotlin DSL 中是:
maven("https://plugins.gradle.org/m2/")
【讨论】:
请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。 感谢@ksviety - 我添加了更多解释以满足社区管理员的需求,请查看未来的指导。【参考方案2】:这里已经解决了How to add a maven repository by url using kotlinscript DSL (build.gradle.kts)。
repositories
maven url = ("https://repo.tools.telstra.com/repository/maven-public")
mavenCentral()
maven url = ('https://plugins.gradle.org/m2/')
Kotlin DSL
将是
repositories
mavenCentral()
maven ( url = "https://repo.tools.telstra.com/repository/maven-public" )
maven ( url = "https://plugins.gradle.org/m2/" )
【讨论】:
【参考方案3】:目前我使用的是 Gradle 6.9,我们必须像下面这样写:
repositories
maven(url = uri("https://repo.tools.telstra.com/repository/maven-public"))
mavenCentral()
maven( url = uri("https://plugins.gradle.org/m2/"))
【讨论】:
以上是关于kotlin gradle dsl问题:类型不匹配:推断类型是字符串但URI!预计的主要内容,如果未能解决你的问题,请参考以下文章
如何在 gradle 5.0.0 中将 bootRepackage 任务转换为 kotlin DSL?