Maven is a build tool for Java projects that describes a project in a Project Object Model (POM) file. It downloads the project dependencies when we run a Maven build, and it packages the application into formats such as .jar, .war, .zip or executable files.
Maven also runs the application tests (such as JUnit or TestNG) and creates test reports in various shareable formats.
1. Maven Basics
- Installing Maven on Windows
- Maven – Settings File
- Maven – POM File
- Maven Dependency Management
- Maven Enforce Minimum Java Version
- Maven – Local Repository Location
- Maven – Local, Remote and Central Repositories
- M2_REPO – Change maven repository location in eclipse
- Maven BOM – Bill Of Materials Dependency
- Maven Dependency Scopes
2. Creating a Maven Project
- Create Java Project with Non/Interactive Mode
- Create a Maven Web project in Eclipse
- Create a Maven Project in IntelliJ Idea
- Create Java Source Folders
- Custom Archetype from Eclipse Project
- Parent and Child POM Example
- Multi-Module Maven Project using Console
- Maven Multi-Module Project using Eclipse
3. Maven Plugins
- Maven ant plugin – Generate build.xml from pom.xml
- Creating Executable Fat Jar with Maven Shade Plugin
- Tomcat Maven Plugin Example
- How to Run JUnit Unit Tests with Maven
4. Packaging the Application
- Creating Spring Boot Fat/Uber Jar or War Files
- Creating Jar with Dependencies using Maven Assembly Plugin
- Create Windows Executable (.exe) for Java Application
5. Advance Topics
- Maven – Remove all corrupt jars/dependencies
- Maven 4: What’s New and How to Migrate from Maven 3
- Maven proxy settings – Eclipse, command line and global settings
6. Maven Errors
- Solved: Java compiler level does not match the version of the installed Java project facet
- [Solved] Maven Shade Plugin – A required class was missing org/apache/commons/io/IOUtils
- [Solved] Maven – Fatal error compiling: invalid target release
- [Solved] Maven: release version 25 not supported (Java 21+)
- Setting Java Version used by Maven Compiler
8. Gradle
Gradle is a modern alternative to Maven that uses a Groovy/Kotlin DSL instead of XML, and is the default build tool for Android and many Spring Boot projects.
- Gradle Tutorial: Core Concepts and Installation
- Gradle 9: What’s New and How to Upgrade from Gradle 8
- Convert Maven Project to Gradle Project
- How to Install Gradle Plugin in Eclipse
- Running JUnit Tests with Gradle
- Spring Boot Gradle Plugin
9. Resources
Happy Learning !!