How To Create Maven Project In Eclipse [Step-By-Step Guide]
By Rohan Vats
Updated on Jun 16, 2023 | 9 min read | 9.2k views
Share:
For working professionals
For fresh graduates
More
By Rohan Vats
Updated on Jun 16, 2023 | 9 min read | 9.2k views
Share:
Table of Contents
In this article, we’ll tackle some general questions about Maven, such as, “What is Maven?” and discover how you can work on Maven project ideas. You’ll find out how to start Maven projects and the basics you should be familiar with.
Check out our free courses to get an edge over the competition
Apache Maven is a project management tool for Java-based projects. It started as a tool to handle tasks in the Jakarta Turbine project. Maven’s developers wanted a standard method to create and manage the project as there were various projects under the Jakarta Turbine one. As a result, they created Maven, which has become one of Apache’s most popular tools.
Maven projects have easier to build processes and have uniform systems for the same. Accessing project information is very easy with Maven because of its proper and straightforward storage method.
Maven creates projects through POM (project object model), which ensures uniformity among all Maven projects. If you have worked on one Maven project in the past, you won’t face any difficulty working on another. This is one of the biggest reasons why Maven got so popular among developers.
Check out upGrad’s Advanced Certification in Cloud Computing
Before you create your project in Maven, you’ll need a place where it can be stored. So, we’ll make a directory and start a shell there. To do all this, you have to open your command line and run the Maven goal below:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Remember that the code might take some time to execute if you run it right after installing Maven. It happens because Maven downloads the latest plugin jars and other relevant artifacts into your selected repository. Sometimes, you might have to run the command several times for it to succeed. That happens because their remote servers time out sometimes, but it’s not a serious problem, and you can fix it.
Check out upGrad’s Advanced Certification in Blockchain
After you run the command we mentioned above, you’ll see the following directory with the same as its artifactId. The directory would be:
cd my-app
You’d see that the directory has the following project structure:
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
Here, the src/main/java directory has the source code, the pom.xml is the Project Object Model, and the src/test/java has the test source. Our code executes the goal archetype:generate. Our code also passes in multiple parameters to this goal. The ‘archetype’ prefix is the name of the plugin, which gives the goal. So our archetype:generate goal creates a small and simple project based on maven-archetype-quickstart. We can say that plugins are only multiple goals grouped for a particular task.
Learn: Spring Developer Salary in India: For Freshers & Experienced
It is the center of Maven projects and their configuration. The pom.xml file is a configuration file that stores most of the necessary information for building a project in your desired manner. The POM file can be quite massive and complex, but it isn’t necessary to know about its technical aspects to use it properly. The POM for our project is the following:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Here is a simple run-through of essential POM elements:
There are many POM elements, and if you want to work on many Maven project ideas, it would be best to get familiar with them. However, you don’t need to be familiar with all of them if you’re a beginner.
After the stuff we did in the earlier section, you’d have to use the following command line:
mvn package
It will print multiple actions with the following ending:
…
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.953 s
[INFO] Finished at: 2019-11-24T13:05:10+01:00
[INFO] ------------------------------------------------------------------------
You might wonder why this command didn’t have a prefix (like archetype:generate). That’s because it is a phase and not a goal. A build lifecycle is a proper sequence of various phases. Maven executes phases in the arrangement you provide.
upGrad’s Exclusive Software Development Webinar for you –
SAAS Business – What is So Different?
Before learning how to create Maven Project in Eclipse, you should understand why you might want to use Maven in your project. Because it provides a standardised approach to managing dependencies and build processes, Maven is a popular tool in the Java community. Maven enables you to add dependencies to your project without managing them manually. Maven also provides a uniform manner of building your project, making it simple to replicate builds across machines.
After learning about the benefits of using Maven, let’s get started by creating a Maven project in Eclipse:
After you’ve built your Maven project, you can customise it by changing the Group Id, Artefact Id, and Version. Here’s how it’s done:
You must install the Maven plugin to utilise Maven in Eclipse. Here’s how it’s done:
After configuring your Maven project in Eclipse, you can add dependencies. Here’s how it’s done:
If you are unsure about the dependencies to employ, you can look them up in the Maven repository. Here’s how it’s done:
If you want to use Java 9 or later versions, you would have to use version 3.6.0 of maven-compiler-plugin and set maven.compiler.release to the Jave release you wish to target. That’s because the default version of Maven uses older versions of maven-compiler-plugin, which are incompatible with Java 9 and its later versions. Here’s an example of using Maven with later versions of Java:
<properties>
<maven.compiler.release>11</maven.compiler.release>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
As all Maven project ideas are based on Java, it would be best to know how to use this tool with later versions.
Also Read: Microservices Using Spring Boot and Spring Cloud
Maven is a fantastic tool for any software professional or project manager. Not only does it help you in keeping things manageable, but it also keeps them simple and easy to comprehend. You can learn a lot about Apache Maven by working on a few Maven project ideas.
We hope that you found this article useful. If you have any thoughts or questions, you can let us know through the comments. We’d love to hear from you.
If you’re interested to learn more about full-stack software development, check out upGrad & IIIT-B’s PG Diploma in Full-stack Software Development which is designed for working professionals and offers 500+ hours of rigorous training, 9+ projects, and assignments, IIIT-B Alumni status, practical hands-on capstone projects & job assistance with top firms.
What do you think of Maven? Let us know.
Get Free Consultation
By submitting, I accept the T&C and
Privacy Policy
India’s #1 Tech University
Executive PG Certification in AI-Powered Full Stack Development
77%
seats filled
Top Resources