Gradle 无法获取未知属性';a、 b.c';对于根项目

Gradle 无法获取未知属性';a、 b.c';对于根项目,gradle,Gradle,我得到了一些源代码,并被要求建立它。这是一个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.gra

我得到了一些源代码,并被要求建立它。这是一个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语法。它们被称为

它们可以通过

  • 通过命令行创建项目属性:
    gradle-Ppostgresql.jdbc=x.y.z
  • 通过命令行显示系统属性:
    gradle-Dorg.gradle.project.postgresql.jdbc=x.y.z
  • 通过
    gradle.properties
    org.gradle.project.postgresql.jdbc=x.y.z
  • 所有3个属性(
    postgresql.jdbc
    flywaydb.plugin.version
    jooq.plugin.version
    )表示特定构建脚本依赖项的版本号。然而,我不知道最好使用哪个版本。我当然会咨询各自的项目网站,或者简单地询问该公司

    • 是数据库JDBC驱动程序,当然取决于数据库版本
    • 用于数据库迁移。请尝试使用最新版本
    • 我在Maven central上找不到。最有可能在网上找到

    我想你指的是'gradle.properties'文件。在我创建它并添加“postgresql.jdbc=x.y.z”并再次运行构建之后,相同的错误转移到脚本中的下一个依赖项。所以它似乎起作用了。我必须让公司说出所有依赖版本的名称。