maven程序集插件:从依赖项中删除SNAPSHOT

时间:2017-08-07 13:09:05

标签: maven maven-assembly-plugin

添加到程序集zip的依赖关系jar已将“SNAPSHOT”版本添加到其名称中。有没有办法只从[{1}}获取version号而不是${artifact.baseVersion}

这是在SNAPSHOT内部运行的。我希望依赖项输出如maven-assembly-plugin而不是parent-2.0.jar

assembly.xml

parent-2.0-SNAPSHOT.jar

2 个答案:

答案 0 :(得分:1)

根据你的管道,有几种方法可以做到这一点。可以使用maven版本插件,

http://www.mojohaus.org/versions-maven-plugin/set-mojo.html

http://www.mojohaus.org/versions-maven-plugin/set-mojo.html#removeSnapshot

像这样的配置就可以了,

window.{parent/top/opener}

我建议将其包装在 <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.4</version> <configuration> <newVersion>${project.version}</newVersion> <allowSnapshots>false</allowSnapshots> </configuration> </plugin> 中,并仅在需要时激活它。这将更新POM中的profile。然后,您可以将其提交回仓库,保留原样等等。

如果版本插件不能满足您的需求,您可能还需要查看可以处理正则表达式属性等的构建帮助程序插件。

http://www.mojohaus.org/build-helper-maven-plugin/usage.html#

答案 1 :(得分:0)

我找不到简单的解决方案。所以我添加了新属性${client-version}并在assmebly.xml中使用它。

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <client-version>2.0</client-version>
</properties>

<强> assembly.xml

<outputFileNameMapping>${artifact.artifactId}-${client-version}.${artifact.extension}</outputFileNameMapping>