Gradle createPom 似乎无法读取 gradle.properties
Gradle createPom doesn't seem to read gradle.properties
请注意: 虽然我在这个问题中提到了 ShadowJar 插件,但这只是为了提供完整的上下文。我相信任何 Gradle 大师都能回答这个问题,无论他们对 ShadowJar 的知识水平如何。
目前我的 Groovy 项目是使用以下 Gradle 构建调用构建的:
gradle clean build shadowJar
运行 此调用在 build/libs
下生成一个打包的 fat jar,其中 version
属性 在我的 gradle.properties
文件中指定。例如,如果 gradle.properties
有一个 version=1.2.3
,那么上面的调用会产生 build/libs/myapp-1.2.3.jar
.
它不生成的是对我的应用程序有效的 POM。所以我找到了 this answer 并对其进行了一些修改以生成:
task createPom << {
pom {
project {
groupId ${group}
artifactId 'myapp'
version ${version}
}
}.writeTo("build/libs/pom.xml")
}
我的 想法 是 group
和 version
(均在 gradle.properties
中指定)将是 "injected",并且这应该会在与我的胖罐子相同的目录中生成一个 pom.xml
。
添加createPom
任务后,我运行:
gradle clean build shadowJar createPom
我得到这个错误:
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\workspace\blah\myapp\build.gradle' line: 89
* What went wrong:
Execution failed for task ':createPom'.
> No signature of method: java.lang.Object.$() is applicable for argument types: (java.util.Collections$EmptyMap, null) values: [[:], null]
Possible solutions: any(), is(java.lang.Object), wait(), find(), dump(), grep()
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 11.673 secs
这是怎么回事?
行:
groupId ${group}
artifactId 'myapp'
version ${version}
无效 groovy,可能应该是:
groupId "${group}"
artifactId 'myapp'
version "${version}"
请注意: 虽然我在这个问题中提到了 ShadowJar 插件,但这只是为了提供完整的上下文。我相信任何 Gradle 大师都能回答这个问题,无论他们对 ShadowJar 的知识水平如何。
目前我的 Groovy 项目是使用以下 Gradle 构建调用构建的:
gradle clean build shadowJar
运行 此调用在 build/libs
下生成一个打包的 fat jar,其中 version
属性 在我的 gradle.properties
文件中指定。例如,如果 gradle.properties
有一个 version=1.2.3
,那么上面的调用会产生 build/libs/myapp-1.2.3.jar
.
它不生成的是对我的应用程序有效的 POM。所以我找到了 this answer 并对其进行了一些修改以生成:
task createPom << {
pom {
project {
groupId ${group}
artifactId 'myapp'
version ${version}
}
}.writeTo("build/libs/pom.xml")
}
我的 想法 是 group
和 version
(均在 gradle.properties
中指定)将是 "injected",并且这应该会在与我的胖罐子相同的目录中生成一个 pom.xml
。
添加createPom
任务后,我运行:
gradle clean build shadowJar createPom
我得到这个错误:
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\workspace\blah\myapp\build.gradle' line: 89
* What went wrong:
Execution failed for task ':createPom'.
> No signature of method: java.lang.Object.$() is applicable for argument types: (java.util.Collections$EmptyMap, null) values: [[:], null]
Possible solutions: any(), is(java.lang.Object), wait(), find(), dump(), grep()
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 11.673 secs
这是怎么回事?
行:
groupId ${group}
artifactId 'myapp'
version ${version}
无效 groovy,可能应该是:
groupId "${group}"
artifactId 'myapp'
version "${version}"