Maven is a software project management and comprehension tool, based on the concept of project object model.
Overview
Maven Usages
- Build the code in the development environment (compile the source code, run the test cases and packaging the project)
- Project management tool
- Generate reports
- Dependency management
Installation Steps
You can install Maven by following below steps.- Manual Installation
- Download Maven binary file
- Create some environment variables
- M2_HOME = environment point to maven directory
- PATH = append Maven path until bin to path variable
- Using Ubuntu Terminal
- sudo apt-get install maven
To check Maven is successfully installed, issue the following command
- mvn --version
To create a Maven project using Terminal use following steps
- mkdir myApp
- cd myApp/
- mvn archetype:generate : choose archetype for the project
- groupId: org.amali.myProject (like package name)
- artifactId: MavenTestApp (like class name)
- Then use default suggestions and create a Maven project
Build the Project Using Maven
You can compile and build your project using Maven by following below steps.
You can compile and build your project using Maven by following below steps.
- To compile Maven application you should be in the folder that has pom.xml
- mvn compile
- In the compilation step, it does all the test cases automatically
- Then package project into jar file
- mvn package
- To run the code
- java -cp target/MavenTestApp-1.0-SNAPSHOT.jar org.amali.myProject.App
Overview
To execute code Maven first need to check the availability of all the dependencies (external jar files that project needs).If dependencies are not found in local Maven repository, then it will download from the central Maven repository and put then in the local repository. Following image describes the above scenario.
- Archetype Information:
- Details of projects created
- Required information for creating new projects
- Dependency Information
- list of dependent jar files
To generate archetype
To generate archetype you will need the following information:
To generate archetype you will need the following information:
- Archetype: type of the application (JEE, Spring, Hibernate)
- GroupId: path to store artifacts
- ArtifactId : output name
- Version
- Package: package type (war, jar)
Pom.xml
POM stands for Project Object Model.A POM file is an XML representation of project resources like source code, test code, dependencies, etc.
POM stands for Project Object Model.A POM file is an XML representation of project resources like source code, test code, dependencies, etc.
- Maven coordinates (groupId, artifactId, version)
- Metadata
- Build information
- Resources and dependencies
Phases
There are several phases in Maven build life cycle:
There are several phases in Maven build life cycle:
- Validate: all the things are in order
- Compile: create class files
- mvn compile
- Test: execute all test cases
- mvn test
- Package: package the whole code
- mvn package
- Install: install local Maven repository
- mvn install
- Deploy: publish artifacts into remote repository
mvn clean: clean all the generated files and folders (target folder)
If you enter the new library to your source file: You have to include it as a dependency in pom.xml (search from https://mvnrepository.com/)
To get updated version every time
- include the following lines inside plugin tabs
<configuration>
<ScanUntervalSeconds>5</ScanIntervalSeconds>
</configuration>
Convert the project into Eclipse Project
- mvn eclipse:eclipse
- Install maven eclipse integrator in eclipse to run Maven commands on Eclipse
Comments
Post a Comment