When releasing from a parent POM, won't all its modules have the same release version and dev version as this parent?

Maven Release Plugin will prompt for each project's version.

[top]


How can I release a parent POM without releasing all its modules?

You need to pass the -N flag to Maven and configure the Release Plugin to pass the -N flag on its forked builds with the -Darguments flag.

Here's an example:

mvn -N -Darguments=-N release:prepare
mvn -N -Darguments=-N release:perform

[top]


How can I hide my username and password?

Add a server-entry to your settings.xml, where you define your credentials (see settings.xml#servers for more details). Since you can't set an id for the scm in your pom.xml, you should add a property pointing to the server-id.


  <project>
   ...
    <properties>
      <project.scm.id>my-scm-server<project.scm.id>
    </properties>
  </project>

[top]


How can I customize the comment prefix of a commit during release preparation?
By default the plugin will prefix the comment with
[maven-release-plugin]
. You can change this by adding
-DscmCommentPrefix=#42
to the Maven command. If you need to end this with a linebreak, add
ALT 10
(=Line Feed) and/or
ALT 13
(=Carriage Return) depending on the operating system. If the comment prefix contains whitespace characters, surround the argument with quotes.

[top]


Why is release:prepare failing when trying to tag with "svn: Path '...' does not exist in revision ..."

If the pom.xml has no scm-section but inherits one from its parent, the prepare goal will fail when trying to tag. The message will be something like:

svn: Path '...' does not exist in revision ...

To fix it, roll-back the release, add the scm section to the pom.xml, commit and retry the release.

[top]