Question says it all, I believe.
Please and thank you
GC
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The Maven assembly plugin is dedicated to create highly customizable package, such as zip, tgz… files. You define, in a descriptor, the content of the final package (or assembly), by including files, directories, dependencies, etc.
The Maven release plugin is dedicated to the release process, which includes several repetitive manipulations and operations. For example it will do some checks (is there any uncommited changes, some
SNAPSHOTlibraries used and so on), prepare your Source Control Management (CVS, Subversion…), modify thepomversions (to get rid of the-SNAPSHOT), commit the modifiedpom.xml, etc.You can have an example of a release process here.
EDIT
Regarding your question about
-SNAPSHOT. For Maven, a fixed version is linked to a dependency that never changes. For example, two libraries with the same fixed version must be identical. So for example,foo:bar:1.2.3is strictly identical to anotherfoo:bar:1.2.3This is not necessarily the case for a
-SNAPSHOTversion. TheSNAPSHOTkeyword indicates that the current library is under development. Thus, two versions offoo:bar:1.2.3-SNAPSHOTandfoo:bar:1.2.3-SNAPSHOTmay not be identical. A timestamp is used by Maven to check which one is the newest.So in the normal release process, you have your
1.2.3-SNAPSHOTversion, which is not in development anymore. So before releasing this library, you will have to fix the version, i.e. move yourpom.xmlversion to1.2.3.This modification can be done by simply modifying the
pom.xmlversions, or it can be managed by theMaven release plugin(or also with the Maven version plugin).I hope the explanations are now clear regarding this particular aspect of Maven.