【问题标题】:IntelliJ gradle - unknown propertiesIntelliJ gradle - 未知属性
【发布时间】:2018-04-15 22:54:39
【问题描述】:

错误:

构建文件 'C:\Users\Me\Dev\project\app\build.gradle' 行:21

  • 出了什么问题: 评估根项目“应用程序”时出现问题。 无法为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 类型的对象获取未知属性“库”。

在 app.gradle 中

dependencies{
    compile libraries.my_lib
    deploy libraries.my_lib
}

在 project.gradle 中

ext.libraries = {
    my_lib:    'com.myCompany:my-lib:1.0.0'
}

在 pom.xml 中

<modules>
    <module>my-lib</modules>
</modules>

在 app.gradle 的libaries. 中按 CTRL+Space 会显示 my_lib 库可能会自动完成,但是使用 gradle clean deploy 编译时会失败并返回上述消息。

这只发生在我将 IDE 更新到最新的 IntelliJ 之后。

【问题讨论】:

  • 你在哪里申请project.gradle?你试过用project.libraries.my_lib吗?

标签: intellij-idea gradle build.gradle


【解决方案1】:

ext 仅为调用它的项目定义扩展。在您的情况下,libraries.my_libproject.gradle 中定义(我猜它是project 目录中的build.gradle),因此是在不同的构建文件中不可用(app.gradle,我猜这又是app 目录中的build.gradle)),除非project 不是app .子项目可以访问父项目的属性,这是共享ext 的唯一方式:项目应该相互关联。

顺便说一句,您可以在gradle.properties 文件中定义属性。可能有很多,一个用于构建中的每个项目。将gradle.properties 放置在构建的根目录中,将其内容应用到项目树的根目录,从而使属性随处可用(这同样适用于根对象的ext 块,如前所述段)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2017-10-29
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    相关资源
    最近更新 更多