 Okay currently we do have the image being built via Maven but there's some things that we can do to make our life a little more easy as far as managing a project and right now if we take a look at the Docker file we are utilizing the name of the artifact so if we do a release we change that version what's gonna have to happen is we are gonna have to go in and update this so if we did a release to 01 or 02 we'd have to go in and edit this file manually and not something that we actually want to do so what we can do is we can utilize Maven properties to control this and rather than having the string here we can have it replaced with a Maven property at runtime so I come in here like so and I do a dollar sign squiggly like that now I can say project build dot final name and this is a Maven property that's available at runtime this is the name of the jar so when we run this if we change the version that is going to get changed so I can just take that and copy him right to here like so so that takes care of our our build file so there's a couple of the things that we can utilize this with also so let's come back to our Maven configuration here in the palm and one thing that we're doing here is we're setting it up as kb rust and a different convention that I like to use so remember the image coordinates if we're pushing up to Docker hub we're gonna be our name so in my case I have a Docker hub account called spring framework guru and then I want to give it a name and that the name that I like to use here is from the project itself the artifact ID so the artifact ID which is going to be the kb rust brewery that will make it a pendant so if I ever have to change the name here that would change I do like to have my repository reflecting that artifact ID name now my Docker image as well will reflect that then one additional thing that we can do here is we are tagging it and let's say we're going through a release process or something like that it'd be nice to have that version as well so if I were to do a release to 0 1 or 0 2 we'd like to have a image with that so what we can do here is again using a Maven property we'll do project and here we're just gonna say project version and that will pick up the version property so now when this runs we will get not only tagged to latest but we'll also get the tag of version and I don't have to rebuild everything but I can't come in here and run the build stuff and demonstrate this so I'm just gonna come in and do docker build and go ahead and expand this window up a little bit so we can see that the build did go through successfully and everything worked properly and you can see here this line here the property was properly applied at runtime so that got replaced at runtime so rather than having that property string it did in fact work properly the way we expected to so now if I change versions and doing a release or something like that that will automatically happen and then here we can see also in the log output that we have the tag of latest and also the 001 dash snapshot so now we have that image with both tag of latest and snapshot if I were to do a release the tagged images will still be up in Docker hub the latest would get replaced and then the 02 would be there but 01 was still also be there so this is a really handy way to version your images as you are doing releases with your Java projects so I minimize this and just recap exactly what I changed here so I came into the Docker file and for the file name I'm now using a Maven property so that will be picked up as the file name changes when we change the versioning the information the file name will change and now this will work properly at runtime when we're building a project and then also in the palm I changed the name of it so I'm now adding in my Docker hub directory as well as the I'm utilizing the artifact ID for the name and then in our build we are also tagging it with the current version of the build