gpt4 book ai didi

gradle - 无法获取根项目的未知属性 'a.b.c'

转载 作者:行者123 更新时间:2023-12-03 03:17:11 31 4
gpt4 key购买 nike

我得到了一些源代码,并被要求构建它。这是一个 Gradle 项目。所以我切换到项目目录并运行:

$ gradle clean assemble

出现以下错误:

...
* What went wrong:
A problem occurred evaluating root project 'pcase'.
> Could not get unknown property 'postgresql.jdbc' for root project 'pcase' of type org.gradle.api.Project.
...

项目文件夹中也有一个settings.gradle文件。它包含:

rootProject.name = 'pcase'

我查看了 build.gradle 并发现了很多类似的情况

${project['x']}

例如:

buildscript {
dependencies {
...
// FlywayDB, JOOQ.
classpath "org.postgresql:postgresql:${project['postgresql.jdbc']}"
classpath "org.flywaydb:flyway-gradle-plugin:${project['flywaydb.plugin.version']}"
classpath "nu.studer:gradle-jooq-plugin:${project['jooq.plugin.version']}"
...

${project['x']} 可能是什么?看起来像 bash 中的关联数组,构建脚本试图获取键 'x' 的值。

但是我没有在代码中找到声明和初始化这个数组的地方。

问题是:这个项目是可建的还是最好咨询在我之前工作的公司?

最佳答案

根据所提供的信息,该项目在某种程度上是完全可构建的。首先,project['a.b.c'] 是用于从 project 对象访问属性的 Groovy 语法。它们被称为 project properties .

它们可以通过

设置
  1. 通过命令行的项目属性:gradle -Ppostgresql.jdbc=x.y.z
  2. 通过命令行设置系统属性:gradle -Dorg.gradle.project.postgresql.jdbc=x.y.z
  3. 系统属性通过gradle.properties:org.gradle.project.postgresql.jdbc=x.y.z

所有 3 个属性 (postgresql.jdbc, flywaydb.plugin.version, jooq.plugin.version) 表示版本号特定的构建脚本依赖项。但是,最好使用哪个版本超出了我的知识范围。我当然会引用各自的项目网站,Maven artifact search或者直接询问公司。

关于gradle - 无法获取根项目的未知属性 'a.b.c',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60770564/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com