作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到了一些源代码,并被要求构建它。这是一个 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 .
它们可以通过
设置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
) 表示版本号特定的构建脚本依赖项。但是,最好使用哪个版本超出了我的知识范围。我当然会引用各自的项目网站,Maven artifact search或者直接询问公司。
关于gradle - 无法获取根项目的未知属性 'a.b.c',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60770564/
我是一名优秀的程序员,十分优秀!