পৃষ্ঠাসমূহ

Search Your Article

CS

Pageviews

Showing posts with label Maven Tutorial. Show all posts
Showing posts with label Maven Tutorial. Show all posts

Sunday, January 22, 2017

Maven - Overview

What is Maven?

Maven is a project management and comprehension tool. Maven provides developers a complete build lifecycle framework. Development team can automate the project's build infrastructure in almost no time as Maven uses a standard directory layout and a default build lifecycle.

Maven - Environment Setup

Maven is Java based tool, so the very first requirement is to have JDK installed on your machine.

System Requirement

JDK 1.5 or above.
Memory no minimum requirement.

Maven - POM

POM stands for Project Object Model. It is fundamental Unit of Work in Maven. It is an XML file. It always resides in the base directory of the project as pom.xml.
The POM contains information about the project and various configuration detail used by Maven to build the project(s).

Maven - Build Life Cycle

What is Build Lifecycle?

A Build Lifecycle is a well defined sequence of phases which define the order in which the goals are to be executed. Here phase represents a stage in life cycle.
As an example, a typical Maven Build Lifecycle consists of following sequence of phases

Maven - Build Profiles

What is Build Profile?

A Build profile is a set of configuration values which can be used to set or override default values of Maven build. Using a build profile, you can customize build for different environments such as Production v/s Development environments.

Maven - Repositories

What is a Maven Repository?

In Maven terminology, a repository is a place i.e. 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

Maven - Plug-ins

What are Maven Plugins?

Maven is actually a plugin execution framework where every task is actually done by plugins. Maven Plugins are generally used to :

Maven - Creating Project

Maven uses archetype plugins to create projects. To create a simple java application, we'll use maven-archetype-quickstart plugin. In example below, We'll create a maven based java application project in C:\MVN folder.

Maven - Build & Test Project

What we learnt in Project Creation chapter is how to create a Java application using Maven. Now we'll see how to build and test the application.
Go to C:/MVN directory where you've created your java application. Open consumerBanking folder.You will see the POM.xml file with following contents.

Maven - External Dependencies

Now as you know Maven does the dependency management using concept of Maven Repositories. But what happens if dependency is not available in any of remote repositories and central repository? Maven provides answer for such scenario using concept of External Dependency.

Maven - Project Documents

This tutorial will teach you how to create documentation of the application in one go. So let's start, go to C:/MVN directory where you had created your java consumerBanking application. Open consumerBanking folder and execute the following mvn command.
C:\MVN>mvn site

Maven - Project Templates

Maven provides users,a very large list of different types of project templates (614 in numbers) using concept of Archetype. Maven helps users to quickly start a new java project using following command
mvn archetype:generate

Maven - Snapshots

A large software application generally consists of multiple modules and it is common scenario where multiple teams are working on different modules of same application. For example consider a team is working on the front end of the application as app-ui project (app-ui.jar:1.0) and they are using data-service project (data-service.jar:1.0).

Maven - Build Automation

Build Automation defines the scenario where dependent project(s) build process gets started once the project build is successfully completed,in order to ensure that dependent project(s) is/are stable.

Maven - Manage Dependencies

One of the core features of Maven is Dependency Management. Managing dependencies become difficult task once we've to deal with multi-module projects (consists of hundreds of modules/sub-projects). Maven provides a high degree of control to manage such scenarios.

Maven - Deployment Automation

In project development, normally a deployment process consists of following steps
  • Check-in the code from all project in progress into the SVN or source code repository and tag it.
  • Download the complete source code from SVN.

Maven - Web Application

This tutorial will teach you how to manage a web based project using version control system Maven. Here you will learn how to create/build/deploy and run a web application:

Maven - Eclispe IDE

Eclipse provides an excellent plugin m2eclipse which seamlessly integrates Maven and Eclipse together.
Some of features of m2eclipse are listed below

Maven - NetBeans

NetBeans 6.7 and newer has inbuild support for Maven. In case of previous version, Maven plugin is available in plugin Manager. We're using NetBeans 6.9 in this example.
Some of features of NetBeans are listed below

Maven - IntelliJ IDEA IDE Integration

IntelliJ IDEA has inbuild support for Maven. We're using IntelliJ IDEA Community Edition 11.1 in this example.
Some of features of IntelliJ IDEA are listed below