Question: Whenever I run my jenkins build I want my snapshot version to be auto incremented. I do understand there are several plugins to them, just trying to understand is there a way to achieve this without any pluggins?

Answer: 
You can change your artifact version automatically - by specifying it as `${env.BUILD_NUMBER}` (for example) in your Jenkins pipeline and then pass it as a `{revision}` parameter to `mvn` command. To do this, you need to put this `{revision}` variable into `<version>` tag like following

```
<version>${revision}</version> 

```

and then provide it to the maven command in Jenkins pipeline: 

```
mvn deploy -Drevision=${env.BUILD_NUMBER}

```

See [this](https://stackoverflow.com/a/53539337/10721592) answer (1st option) for details.

Note: as [@khmarbaise](https://stackoverflow.com/users/296328/khmarbaise) pointed out, you have to use the **flatten-maven-plugin**, otherwise there could be some issues, see details in [this](https://maven.apache.org/maven-ci-friendly.html) article. (However, in my case for simple maven project there were no such problems, so I didn't use that plugin, only `revision` parameter)
You can use [versions-maven-plugin](https://www.mojohaus.org/versions-maven-plugin/index.html)

```
mvn build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion} versions:commit

```

The Goal “build-helper:parse-version” provides parse fragments of the actual version in the pom.xml and calculates also the incremented fragments of the version:
Use can use this vars to setup new version

```
parsedVersion.nextMajorVersion
parsedVersion.nextMinorVersion
parsedVersion.nextIncrementalVersion

```