"A journey of a thousand miles starts with a single step", Lao Tzu. Rightly so, if you are reading this sentence here, you have taken a step towards a journey of Maven with Eclipse. As part of this journey, in the very first chapter, we will introduce you to Maven and its basic architecture and then guide you through the installation process through the following subtopics:
Apache Maven's official site states that Apache Maven, which is also known as Maven, is a software project management and comprehension tool. Generally, software project management comprises planning, organizing, managing resource pools, and developing resource estimates; hence, it is a meaningless abstraction to justify Maven offerings. To put it in simple words, Maven is a comprehensive approach towards the process of applying patterns to a build infrastructure with primary goals as follows:
In order to achieve the preceding goals, Maven provides a set of build standards, an artifact repository model, an engine that describes projects, and a standard lifecycle to build, test, and deploy project artifacts.
Maven, a Yiddish word that means accumulator of knowledge, was initially started as an attempt to simplify the build processes in the Jakarta Turbine project. Prior to Maven, Ant was the build tool used across projects, and there were different Ant build files across different projects. Also, there were no standard or consistent Ant build files for projects, and JARs were also required to be checked in subversion. Hence, there was a growing necessity to standardize the project's build process and its structure, publish project information, and reuse JARs across projects, which resulted in the formation of a new tool, Maven. Maven has made the day-to-day work of developers easy, and it provides comprehension of any Java project.
Maven's principles can be stated in the following points:
pom
file to customize the execution of a project.Maven is built around different components as shown in the following diagram:
Plexus is an IOC container that provides component-oriented programming to build modular, reusable components that can be easily assembled and reused. Some of the features supported are as follows:
More information on this can be found at http://plexus.codehaus.org/.
Maven Wagon is a transport abstraction used in the Maven artifact and repository-handling code. Wagon defines a unified API, and it currently has the following providers:
More information on this can be found at https://maven.apache.org/wagon/.
Doxia is a content generation framework that provides users with powerful techniques to generate static and dynamic content. Doxia is also used in a web-based publishing context to generate static sites, in addition to being incorporated into dynamic content generation systems such as blogs, wikis, and content management systems.
For more information on Maven Doxia, refer to https://maven.apache.org/doxia/.
The Modello component in Maven can be used to generate the following types of artifacts at build time with reference to the data model:
For more information, refer to http://maven.apache.org/maven-1.x/plugins/modello/.
This component provides a common API to perform Source Code Management (SCM) operations. The following type of SCMs are supported:
More information is available at http://maven.apache.org/scm/.
3.144.242.235