I am new to java web development and the book I am using to learn uses Maven and Tomcat for development. After searching some basics about Maven on internet all I know is that it is a tool for managing dependencies in project. I am using Netbeans 8 and every time I create a new project or clean-build an existing project Maven downloads lots of files. Is there any way I can keep a common place/repository for all my Maven projects which can be used locally? I have gone through some existing answers on stackoverflow but for me as a beginner they are difficult to understand.
2 Answers
Maven indeed has such a local repository (in .m2/repository in your home folder) where the files found to be needed are downloaded are automatically stored for future use.
The source repository - Maven Central - is very large, so you do not want to download everything as you will most likely not need most of it.
If you need to go offline, or want to be sure that everything you may need in your current build, you can run the dependency:go-offline target. You can then safely use the -o switch to maven to avoid network usage.
When you create a Maven project and build it for the first time, Maven will automatically create a local repository for you, downloading the necessary jars for your project to this location. From then on, all your maven projects will share this repository.
On Windows, the default location for your local Maven repository is
%HOMEPATH%\ .m2\repository
You will find this page useful: http://maven.apache.org/guides/mini/guide-configuring-maven.html
You can also download 'Maven the complete reference' for free as a PDF from here: http://www.sonatype.com/resources/books/maven-the-complete-reference/download