If you look at the predefined repositories in your Nexus installation, you would see the following.

Here notice the 4 Maven repositories.
| Name | Type | Purpose | 
|---|---|---|
| maven-central | proxy | This points to the Maven public repository where we normally retrieve artifacts from. Instead of directly pulling artifacts from there, you can setup a proxy repository like this. Next time you download the same dependency, it will be retrieved from Nexus cache instead of going to Maven public repository. | 
| maven-snapshot | hosted | All artifacts belonging to your projects’ development versions would go here. | 
| maven-releases | hosted | All artifacts belonging to your projects actual releases would go here. | 
| maven-public | group | This is a repository that groups all of the above together. It will provide you a single URL to configure your clients to download from. This would be the focus of this article. | 
If you go to the settings view by clicking on the cogwheel icon at the top of Nexus, then click on repositories from the navigator on left, and have a look at maven-central repository, you would see that it consists of all the members listed above.

We would be adding maven-public as a mirror to our Maven project so that when we retrieve artifacts, whether it is Maven public artifacts or artifacts of our project, they will be retrieved from Nexus. 
First step would be updating the pom.xml
</project>
...
     <repositories>
		<repository>
			<id>maven-public</id>
			<url>http://165.232.178.38:8081/repository/maven-public/</url>
		</repository>
	</repositories>
...
</project>
Note that this goes inside repositories tag, unlike when we were updating the pom for pushing artifacts to Nexus in the previous article.
The id tag is a reference to identify the repository, which would be useful later. The url tag is to specify the URL of the repository. You can find the URL of each repository from the Nexus GUI.
Next you need to update the maven settings.xml file located in conf directory where you have installed Maven. It is usually a directory like C:\Program Files\apache-maven-3.8.2\conf.
  <servers>
	<server>
      <id>maven-public</id>
      <username>admin</username>
      <password>MyAwesomeP@$$word1</password>
    </server>
    ...
  </servers>
You should find the servers tag in  settings.xml file and should add details of maven-public repository as above. Here the id tag refers to the id we specified in POM.xml file. Username and password are the credentials of a user that has privileges to upload to these repositories.
Lastly, we need to add one last thing to the  settings.xml file as below.
  <mirrors>
    <mirror>
      <id>maven-public</id>
      <mirrorOf>*</mirrorOf>
      <name>Group repo for all maven dependencies</name>
      <url>http://165.232.178.38:8081/repository/maven-public/</url>
    </mirror>
    ...
  </mirrors>
Once this is done, you can do an mvn package from the project directory to see the outcome. 
C:\Users\Charith\Documents\STS-Workspace\mobile-app-ws>mvn clean -Dmaven.test.skip=true package

Notice in above screenshot that the dependencies are being downloaded from Nexus instead of directly from Maven. This means our setup was a success!
Once this is completed, from Nexus GUI, browse maven-public repository. 

You can see that all the dependencies are now available in maven-public repository including the artifacts we deployed to snapshot and releases repositories for our own app.








