让gradle忽略jar名称中的版本号

时间:2014-10-24 01:19:48

标签: gradle

我有一个项目,必须建立大约10个不同的虚拟罐子进行单元测试。我有像这样的gradle项目设置

project(':CodeTools_dummydriver-true') {
    ext.dummyDriver = true
    archivesBaseName = "dummydriver-true"
}

但问题是jarfile仍然被命名为dummydriver-true-0.0.1.jar。有什么方法可以告诉gradle忽略标准模式,请将输出文件命名为我想要它命名的内容?意思是,没有版本号?

3 个答案:

答案 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。)