請注意:雖然我在這個問題中提到了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 「$ {}組」','主場迎戰受益groupId group' – Trejkaz
沒有...確實,你的可能會更好 –