Java 如何强制maven将版本号保留在依赖项文件名之外?

Java 如何强制maven将版本号保留在依赖项文件名之外?,java,maven-2,Java,Maven 2,我正在使用maven构建一个“.ear”项目,该项目从maven存储库解析依赖项,然后将它们打包到一个ear中(这可能是一个多余的句子…) 当依赖项显示在ear文件中时,它们将按照以下格式命名: <artifactId>-<version>.<type> -。 我想把它们命名为: <artifactId>.<type> 。 有人能给我指出正确的方向吗?设置finalName属性。有关更多详细信息,请参见如果您正在使用maven

我正在使用maven构建一个“.ear”项目,该项目从maven存储库解析依赖项,然后将它们打包到一个ear中(这可能是一个多余的句子…)

当依赖项显示在ear文件中时,它们将按照以下格式命名:

<artifactId>-<version>.<type>
-。
我想把它们命名为:

<artifactId>.<type>

有人能给我指出正确的方向吗?

设置finalName属性。有关更多详细信息,请参见

如果您正在使用maven assembly插件构建ear,则可以在描述符中使用
outputFileNameMapping
属性:


但是,您可能最好使用maven ear插件,在这种情况下,您可以自定义
bundleFileName
,如前所述。

这让我可以更改最终ear文件输出的名称(这很好),但我真正想做的是更改ear文件中依赖项的名称,而不是ear文件本身。(或者我误解了吗?)maven ear插件要求我为每个依赖项添加bundleFileName,对吗?(除非我使用maven assembly插件,否则我不能指定一个适用于所有这些插件的模式)。虽然,使用ear插件,您在技术上指定了要添加到ear中的模块,而不是依赖项。回答得好。我最终使用了
${artifact.build.finalName}.${artifact.extension}
和其他项目
${artifact.name}.${artifact.extension}
。如果您只想从文件名中删除版本:${artifact.artifactId}.${artifact.extension}