By default, the release plugin creates a release based on the contents of your working copy, it simply ensures that you do not have uncommitted content before doing this. AFAIK it does not force to update sources, as usual it is a continuous integration system (Jenkins in your case). So everything that is checked by Jenkins will be released.
What you are trying to do is more like a configuration change on the Jenkins side, indicating the correct revision.
On the other hand, if the POM files are modified as part of the release, but have been changed in SVN, in the meantime you will encounter a conflict when Maven wants to check the modified POM files. This is a situation that may occur depending on how you want to return with the release.
Based on this, it may make more sense to always create a branch before release. Thus, you must create a branch based on version 3, and then create your version in this branch. This way, you will not encounter issues with commit resources that have been changed in later versions.
Creating a branch and checking it would probably be automated through Jenkins and Maven.
source share