# What is maven automatic build tool in Java eclipse projects?

Maven is a powerful open-source project management tool developed by the Apache Group to build and manage any Java-based project. Additionally, this tool makes Java developers' work easier while developing reports, checking the builds, and testing automation setups.

As we stated above, Maven is primarily used to build and manage many Java-based projects, Java eclipse project is the integrated development environment (IDE) that often hits to mind. Hence, by reading this article, you will learn everything about Maven automatic build tool and what it means in Java Eclipse Projects.

## Understanding Maven

Maven is a popular automatic build tool that focuses on simplification and standardization of the building process, providing developers with ways to manage the following −

• Builds- With Maven, developers can easily build any number of projects into output types like the JAR, WAR, etc without doing any scripting.

• Documentation and reporting- Can get project information such as log documents, dependency lists, unit test reports, etc.

• Dependencies- Developers can easily add jars and other dependencies of the project using maven. In other words, it is helpful for a project while updating the central repository of JARs and other dependencies.

• SCMs

• Releases

• Distribution

• Mailing list

## When to use Maven?

Maven Build Tool can be used by anyone in the following conditions −

• When there are a lot of dependencies for the project, then one can use Maven to easily handle those dependencies.

• Whenever the dependency version is frequently updated, then one can use Maven to update only the version ID in the pom (project object model) file to update dependencies.

• If someone wants to continuously build, integrate, and test, then can use Maven to easily handle them at once.

• If someone looking for a simple way to generate documentation from the source code, Compile source code, or Packaging compiled code into JAR files or ZIP files, using Maven will be helpful.

## Pros and Cons of Maven

Each tool has its own advantages and limitations. Below are the pros and cons of Maven, which you need to know before using it in the Java Eclipse project.

• Using Maven, you can easily add any dependencies required for the project automatically by reading the pom file.

• You can also easily build your project to the jar, war, etc. based on your requirements.

• Through Maven, one can easily start a project in different environments and doesn’t need to manage the dependencies injection, builds, processing, etc.

• With Maven, you can effortlessly add a new dependency just by writing the dependency code in the pom file.

• Through Maven, it is easy to get access to all the required information.

• One of the major drawbacks of the Maven tool is that it requires the maven installation in the system for working and the Maven plugin for the ide.

• If in case, the existing dependency does not contain the Maven code, then one cannot add that dependency through Maven.

Now, without further ado, let’s get into the core concept of what is Maven tool in the Java eclipse project.

## Basics of Eclipse

One of the most popular IDEs for Java and Android application development is Eclipse. This provides an excellent plugin named M2Eclipse, which integrates with both Maven and Eclipse.

Additionally, this plugin automatically downloads the needed dependencies from remote Maven repositories and executes the output. The result of the Maven commands can be able to see in Eclipse via its console. Maven dependencies are able to update with the IDE, and Maven builds can be established within Eclipse.

Here’s how you can create a Maven project in the Java Eclipse −

• Open Eclipse.

• Select File > Import > option.

• Select Maven Projects Option. Click on the Next Button.

• Select Project location, where a project was created using Maven.

• Click Finish Button.

• Now, you can see the maven project in eclipse.

Now, have a look at consumer Banking project properties. You can see that Eclipse has added Maven dependencies to the java build path.

Now, it is time to build this project using the maven capability of the eclipse.

• Right-click on consumerBanking project to open context menu.

• Select Run as option.

• Then maven package option.

Maven will start building the project. You can see following output in Eclipse Console −

[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< com.companyname.bank:consumerBanking >----------------
[INFO] Building consumerBanking 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ consumerBanking ---
[INFO] Deleting C:\MVN\consumerBanking\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @
consumerBanking ---

[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
C:\MVN\consumerBanking\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @
consumerBanking ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e.
build is platform dependent!
[INFO] Compiling 1 source file to C:\MVN\consumerBanking\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @
consumerBanking ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
C:\MVN\consumerBanking\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @
consumerBanking ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e.
build is platform dependent!
[INFO] Compiling 1 source file to C:\MVN\consumerBanking\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ consumerBanking -
--
[INFO] Surefire report directory: C:\MVN\consumerBanking\target\surefirereports

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.companyname.bank.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec
Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ consumerBanking ---
[INFO] Building jar: C:\MVN\consumerBanking\target\consumerBanking-1.0-
SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.663 s
[INFO] Finished at: 2021-12-13T17:34:27+05:30
[INFO] ------------------------------------------------------------------------


Now, right-click on App.java. Select the Run As option. Then select Java Application.

You will see the following result −

Hello World!


## Conclusion

Eclipse provides built-in support for the Maven tool. It also helps you to work with maven projects easily in Eclipse IDE.