What is Maven

First, Let’s understand what is Maven?

Apache Maven is an advanced build tool to support the developer at the whole development process of a software project. Maven is based on POM (project object model).


What is Maven? Maven is implemented in Java which makes it platform-independent. Maven allows you to automate the process of the creation of the initial folder structure for the Java application, performing the compilation and testing and the packaging and deployment of the product.


What is Build Tool?

A build tool is a tool that automates everything related to building the software project. Building a software project typically includes one or more of below-mentioned activities –


  1. Generating documentation from the source code.

  2. Compiling source code.

  3. Packaging compiled code into JAR files or ZIP files.

  4. Installing the packaged code on a server.

The advantage of automating the build process is that you can minimize the risk of humans making errors while building the software manually & You can improve the performance of Building the project.


Issue with Build Project Manually

There are many problems that developers face during the project development. Like –

  • Adding the set of Jars in each project: In the case of struts,  hibernate frameworks, you need to add the set of jar files in each project. It must include all the dependencies of jars also.

  • Creating the right project structure: You must create the right project structure in servlet, struts etc, otherwise, it will not be executed.

  • Building and Deploying the project: We must have to build and deploy the project so that it may work.


Features of Maven

The key features of Maven are –

  • Convention over configuration: Maven tries to avoid as much configuration as possible, by choosing real world default values and supplying project templates (archetypes).

  • Dependency management: it is possible to define dependencies to other projects. During the build, the Maven build system resolves the dependencies and, if needed, it also builds the dependent projects.

  • Repository: Project dependencies can be loaded from the local file system, from the Internet or public repositories. The company behind the Maven project also provides a central repository called Maven Central.


Apache Maven helps to manage –

  • Builds

  • Documentation

  • Reporting

  • SCMs

  • Releases

  • Distribution

0 Comment

Leave a Reply