我有一个项目,必须建立大约10个不同的虚拟罐子进行单元测试.我有这样的gradle项目设置
project(':CodeTools_dummydriver-true') {
ext.dummyDriver = true
archivesBaseName = "dummydriver-true"
}
Run Code Online (Sandbox Code Playgroud)
但问题是jarfile仍然被命名为dummydriver-true-0.0.1.jar.有什么方法可以告诉gradle忽略标准模式,请将输出文件命名为我想要它命名的内容?意思是,没有版本号?
对于较新的 gradle,您应该使用:
build.gradle.kts:
tasks.jar {
archiveFileName.set("${project.name}-new-name.jar")
}
Run Code Online (Sandbox Code Playgroud)
build.gradle:
jar.archiveFileName = "new-name.jar"
Run Code Online (Sandbox Code Playgroud)
因为archiveName已被弃用。.jar(您还必须指定)。
Java插件定义了jar任务,以遵循以下模板archiveName:
${baseName}-${appendix}-${version}-${classifier}.${extension}
Run Code Online (Sandbox Code Playgroud)
我认为没有办法应用新的"命名模板",但你可以做的是明确设置你的jar任务的存档名称,就像这样.(另外,dummyDriver直接使用属性不是一个好主意,而不是将"true"硬编码到存档名称中吗?)
archivesBaseName = "dummydriver"
jar.archiveName = "${jar.baseName}-${dummyDriver}.${jar.extension}"
Run Code Online (Sandbox Code Playgroud)
或者,将version属性设置为null或空字符串,如Circadian的答案中所建议的那样,但如果您想要将该version属性用于任何事物,则不希望将其销毁.
添加版本属性并将其值设置为空字符串对我有用。
这是一个例子:
project(':CodeTools_dummydriver-true') {
ext.dummyDriver = true
archivesBaseName = "dummydriver-true"
version= ""
}
Run Code Online (Sandbox Code Playgroud)
希望有帮助。
| 归档时间: |
|
| 查看次数: |
6359 次 |
| 最近记录: |