我有一个项目,必须建立大约10个不同的虚拟罐子进行单元测试。我有像这样的gradle项目设置
project(':CodeTools_dummydriver-true') {
ext.dummyDriver = true
archivesBaseName = "dummydriver-true"
}
但问题是jarfile仍然被命名为dummydriver-true-0.0.1.jar。有什么方法可以告诉gradle忽略标准模式,请将输出文件命名为我想要它命名的内容?意思是,没有版本号?
答案 0 :(得分:6)
Java插件defines the jar task,可以使用archiveName
的以下模板:
${baseName}-${appendix}-${version}-${classifier}.${extension}
我认为没有办法应用新的"命名模板",但您可以做的是明确设置您的jar任务的存档名称,如这个。 (另外,最好不要直接使用dummyDriver
属性,而不是硬编码" true"到存档名称中?)
archivesBaseName = "dummydriver"
jar.archiveName = "${jar.baseName}-${dummyDriver}.${jar.extension}"
或者,将version
属性设置为null或空字符串,如Circadian的答案中所建议的那样,但如果您想要将version
属性用于任何事情,则不要&# 39;我想破坏它。
答案 1 :(得分:2)
添加版本属性并将其值设置为空字符串对我有用。
以下是一个例子:
project(':CodeTools_dummydriver-true') {
ext.dummyDriver = true
archivesBaseName = "dummydriver-true"
version= ""
}
希望有所帮助。
答案 2 :(得分:0)
对于较新的gradle,应使用:
build.gradle.kts
:
tasks.withType<Jar> {
archiveFileName.set("${project.name}-new-name.jar")
}
build.gradle
:
jar.archiveFileName = "new-name.jar"
因为archiveName
已过时。 (您还必须指定.jar
。)