Apache Maven

Apache Maven introduced a strict project layout (src/main/java, src/test/java, target/) and a convention-driven build lifecycle. A pom.xml that declares dependencies and a parent POM is enough for most Java projects to compile, test, package, and deploy.

API entry from apis.yml

apis.yml Raw ↑
aid: convention-over-configuration:maven
name: Apache Maven
description: Apache Maven introduced a strict project layout (src/main/java, src/test/java, target/) and
  a convention-driven build lifecycle. A pom.xml that declares dependencies and a parent POM is enough
  for most Java projects to compile, test, package, and deploy.
humanURL: https://maven.apache.org/
baseURL: https://maven.apache.org
tags:
- Build
- Java
- Maven
properties:
- type: Documentation
  url: https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
- type: Reference
  url: https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
x-features:
- Standard directory layout for Java projects
- Convention-driven phases (compile, test, package, install, deploy)
- Plugin architecture for custom phases
- Inheritance via parent POMs
x-useCases:
- Standardizing build tooling across Java projects
- Hosting and consuming artifacts from Maven Central