Note: This question has been originally posted by Lahiru Gunathilake as an answer to another question. I’m moving it here as a separated question for the sake of clarity.
When we are doing a release we just build in our local machine and do the QA and then we host it in to repository. If we run mvn deploy does it create new artifacts, this cause having different artifact in the repository and in binary distribution because we are creating the binary distribution from our local repository. But if someone get the source code and do the build they’ll get a different one. But if mvn deploy doesn’t build but only deploy it’s fine.
As explained in Build Lifecycle Basics:
So, the answer is yes,
mvn deploywill executeinstalland build the project artifacts. But if you don’t change anything, this will produce exactly the same artifact.