Gradle createPom似乎没有读取gradle.properties
问题描述:
请注意:虽然我在这个问题中提到了ShadowJar插件,但它只是提供完整的上下文。我相信任何Gradle Guru都可以回答这个问题,不管他们的ShadowJar的知识水平如何。Gradle createPom似乎没有读取gradle.properties
目前我Groovy项目是建立与下面的摇篮建立调用:
gradle clean build shadowJar
运行这个调用产生build/libs
下一个包装罐中的脂肪在我gradle.properties
文件中指定的version
属性。例如,如果gradle.properties
具有version=1.2.3
,则上述调用产生build/libs/myapp-1.2.3.jar
。
它是什么不产生产生,但是,我的应用程序是一个有效的聚甲醛。所以我发现this answer和修改它一下生产:
task createPom << {
pom {
project {
groupId ${group}
artifactId 'myapp'
version ${version}
}
}.writeTo("build/libs/pom.xml")
}
我想是group
和version
(在gradle.properties
同时指定)将“注入”,这一点应产生在一个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}"
是什么'的groupId “$ {}组”','主场迎战受益groupId group' – Trejkaz
没有...确实,你的可能会更好 –