When is it safe to delete the local Maven repository?
In which circumstances is it safe respectively unsafe to
rm -rf ~/.m2/repository provided that I'm working online and I have access to all needed artifacts via remote repositories.
When you retrieve all dependencies from remote repositories, then the local repo becomes nothing more than a cache.
Like all caches, the Maven local repo can occasionally become "dirty". In an acknowledged act of paranoia and overkill, I schedule a periodic cron job to purge the local repositories on my build machines. This forces a re-sync with my Nexus Maven repository.
When is it safe to delete the local Maven repository?, If you have access to all needed artifacts via remote repos, it is always safe to remove local Maven repository. All artifacts needed to the next build, including Purging local repository dependencies. The purpose of the dependency:purge-local-repository goal is to purge (delete and optionally re-resolve) artifacts from the local maven repository. This page describes some of the configuration options available to the plugin.
If you have access to all needed artifacts via remote repos, it is always safe to remove local Maven repository. All artifacts needed to the next build, including even basic Maven plugins (like compiler) will be basically fetched from remote repos. That's it.
Purging local repository dependencies, behaviour of the plugin is to first resolve the entire dependency tree, then delete the mvn dependency:purge-local-repository -DactTransitively=false This goal is normally safe at the end of the build, or as part of the build The .m2 directory is your maven repository cache. Whenever maven downloads something for you, it will cache it here. Usually it's safe to just delete the directory. Maven will recreate it for you. However, if you have dependencies that only exist in your repo cache, you'll have to reinstall them.
What you could do is add a cron entry to regularly delete files in the local repository for a given period, say 90 days.
find ~/.m2/ -type f -atime +90 -delete && \ find ~/.m2/ -type d -empty -delete
This keeps your cache size down to only artifacts you've been using recently.
When is it safe to delete the local Maven repository?, Like all caches, the Maven local repo can occasionally become "dirty". In an acknowledged act of paranoia and overkill, I schedule a periodic cron job to purge Given a POM file for a maven project you can remove all its dependencies in the local repository (by default ~/.m2/respository) using the Apache Maven Dependency Plugin. It includes the dependency:purge-local-repository functionality that removes the project dependencies from the local repository, and optionally re-resolve them.
So instead of doing the "brute force" way, there is a different option:
rm -rf ~/.m2/repository
Here is the "mvn" way to do this.
some arguments that I find helpful
mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false
Here is what I typically do for my local machine:
mvn dependency:purge-local-repository -DmanualInclude="my.group.id" -DsnapshotsOnly=true -DactTransitively=false -DreResolve=false
you can investigate the command line options here:
Purging / Delete local maven (mvn) repository, maven repository is located in your systems, current users home / root path inside a directory named ".m2". In windows it should be at : C:\ The local repository of Maven is a folder location on the developer's machine, where all the project artifacts are stored locally. When maven build is executed, Maven automatically downloads all the dependency jars into the local repository. Usually this folder is named .m2. Here's where the default path to this folder is – based on OS:
Solved: How do we purge/clean the Maven repositories?, We would like to purge the maven repositories after each build. To completely clean the local cache you can use the following goal: In Maven terminology, a repository is a directory where all the project jars, library jar, plugins or any other project specific artifacts are stored and can be used by Maven easily. Maven repository are of three types. The following illustration will give an idea regarding these three types. local; central; remote; Local Repository. Maven
Where is the Maven Local Repository?, Simply put, when we run a Maven build, all the dependencies of our project (jars, plugin jars, other artifacts) are all stored locally for later use. When we compile a Maven project, Maven will download all the project’s dependency and plugin jars into the Maven local repository, save time for next compilation. 1. Find Maven Local Repository. 1.1 If the default .m2 is unable to find, maybe someone changed the default path. Issue the following command to find out where is the Maven local
Maven - Remove all corrupt jars / dependencies, Learn to rebuild local repository by deleting all corrupt jars from repository and fix missing maven dependencies problem or force update a maven project. These maven remote repository work exactly same way as maven’s central repository. Whenever an artifact is needed from these repositories, it is first downloaded to developer’s local repository and then it is used. You can configure a remote repository in the POM file or super POM file in remote repository itself.