Downloading Maven dependencies as a local repository for offline build and usage
Context
I had a scenario where in a Jenkins slave machine while configuring CI/CD, it was not allowed to access the internet to download Maven dependencies due to restrictions. Hence, I had to find a way to download the remote repositories of only required files to a local repository and push it along with the codes and map pom.xml
to use it.
Instructions
1. Download offline repository of only required dependencies into a file path
Run command in project root directory:
mvn dependency:go-offline -Dmaven.repo.local=./repo
2. Map pom.xml
Bottom of pom.xml
:
<repositories>
<repository>
<id>offline</id>
<name>Offline Repository</name>
<url>file://${project.basedir}/repo</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>offline</id>
<name>Offline Repository</name>
<url>file://${project.basedir}/repo</url>
</pluginRepository>
</pluginRepositories>
As simple as that.