Maven 2 Maven:如何使用没有时间戳文件名的快照工件创建程序集?

Maven 2 Maven:如何使用没有时间戳文件名的快照工件创建程序集?,maven-2,assemblies,versioning,maven-3,artifacts,Maven 2,Assemblies,Versioning,Maven 3,Artifacts,我有一个包含带有时间戳的快照工件的存储库 我想创建一个包含依赖项的程序集。这个很好用。但是工件名称包含时间戳。因此,我想知道如何仅从程序集的文件名中删除时间戳 我使用了此dependencySet: ${artifact.artifactId}-${artifact.version}.${artifact.extension} 但是这个版本已经包含了时间戳。那么,是否有可能获得1.1.1-SNAPSHOT而不是1.1.1-20100323.071348-182 我正在使用maven assem

我有一个包含带有时间戳的快照工件的存储库

我想创建一个包含依赖项的程序集。这个很好用。但是工件名称包含时间戳。因此,我想知道如何仅从程序集的文件名中删除时间戳

我使用了此dependencySet:

${artifact.artifactId}-${artifact.version}.${artifact.extension}
但是这个版本已经包含了时间戳。那么,是否有可能获得1.1.1-SNAPSHOT而不是1.1.1-20100323.071348-182


我正在使用maven assembly plugin的2.2-beta-4版。

您能为
outputFileNameMapping尝试以下操作吗

${artifactId}-${baseVersion}.${extension}
根据如下问题:

使用
${baseVersion}
在需要保留快照命名的情况下,插件保留使用
${version}
进行时间戳buildnumber命名的功能,这有助于描述程序集中包含的确切库版本

更新:在OP反馈后,确切的语法是(不完全确定):


我在尝试使用包含版本号文件夹(我正在打包WSDLs和XSD)的汇编插件构建捆绑包时遇到了类似的问题

我发现的解决方法非常简单,我将实际版本号放在一个属性(例如1.0)中,这使得它可以在程序集插件的bundle.xml文件中使用,并将pom版本设置为:

<version>${service.version}-SNAPSHOT</version>
${service.version}-快照

通过这种方式,我的软件包的内容不受快照标记的影响,特别是在发布时,它不会被修改。

您使用的maven和汇编插件的版本是什么?我使用的是maven汇编插件的版本2.2-beta-4。(我已将此信息添加到我的问题中)接受的答案在Maven 3和2.2.1版的汇编插件中运行良好。我也有同样的要求,您能分享我需要将此标记添加到哪个文件中吗?此文件是在pom.xml之外添加的?非常感谢。只要稍作修改,它就可以正常工作:${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}@marabol不客气。很高兴它起作用了。我不完全确定属性的语法,但我想您会明白:)您还可以添加分类器:${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}
${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
<version>${service.version}-SNAPSHOT</version>