maven发布和maven程序集插件有什么区别?

时间:2010-09-22 15:43:09

标签: maven-2 maven-assembly-plugin maven-release-plugin

问题说明了一切,我相信。

请,谢谢

GC

1 个答案:

答案 0 :(得分:2)

Maven assembly plugin致力于创建高度可自定义的包,例如zip,tgz ...文件。您可以在描述符中通过包含文件,目录,依赖项等来定义最终包(或程序集)的内容。

Maven release plugin专门用于发布进程,其中包括几个重复的操作和操作。例如,它会做一些检查(是否有任何未经修改的更改,使用了一些SNAPSHOT库等),准备源代码管理(CVS,Subversion ...),修改pom版本(摆脱-SNAPSHOT),提交修改后的pom.xml等。 您可以获得一个发布流程here的示例。


修改

关于-SNAPSHOT的问题。对于Maven,固定版本链接到永不改变的依赖项。例如,具有相同固定版本的两个库必须相同。例如,foo:bar:1.2.3与另一个foo:bar:1.2.3

严格相同

对于-SNAPSHOT版本,必然如此。 SNAPSHOT关键字表示当前库正在开发中。因此,foo:bar:1.2.3-SNAPSHOTfoo:bar:1.2.3-SNAPSHOT 的两个版本可能不相同。 Maven使用时间戳来检查哪一个是最新的。

因此,在正常发布过程中,您拥有的1.2.3-SNAPSHOT版本已不再开发。因此,在发布此库之前,您必须修复版本,即将pom.xml版本移至1.2.3

可以通过简单修改pom.xml版本来完成此修改,也可以由Maven release plugin(或Maven version plugin)管理。

我希望现在对Maven的这个特殊方面的解释很清楚。