Generated by GPT-5-mini| Apache Maven | |
|---|---|
| Name | Apache Maven |
| Developer | Apache Software Foundation |
| Released | 2004 |
| Programming language | Java |
| Operating system | Cross-platform |
| License | Apache License 2.0 |
Apache Maven Apache Maven is a build automation and project management tool for Java-centric software projects developed under the Apache Software Foundation. It standardizes project structure, dependency handling, and build lifecycles for projects used by organizations such as Google, Red Hat, IBM, Microsoft, and LinkedIn. Maven integrates with ecosystems including Eclipse, IntelliJ IDEA, NetBeans, Jenkins, and GitHub to support continuous integration and delivery pipelines used by enterprises like Netflix and Facebook.
Maven originated at the Apache Software Foundation to simplify build processes for large projects influenced by predecessors such as Ant (software), Make (software), and practices from Sun Microsystems. Early adopters included contributors from JBoss, Spring Framework, Hibernate (framework), and Apache Tomcat communities. Over time, governance involved committers and PMC members from organizations such as Oracle Corporation, Sonatype, Pivotal Software, and Red Hat with releases coordinated alongside projects like Apache Commons and Apache Ant. Maven development intersected with events like the growth of Maven Central Repository and the establishment of standards referenced by tools such as Ivy (software) and Gradle.
Maven provides convention-over-configuration conventions echoed in frameworks like Spring Framework, Struts, and JavaServer Faces and integrates artifact metadata models similar to OSGi descriptors. Its architecture uses plugins maintained by communities including Apache Plugins Project, Sonatype, and corporations like IBM and Amazon Web Services. Build tools and CI servers such as Travis CI, CircleCI, TeamCity, and Bamboo (Atlassian) consume Maven metadata. Security and signing workflows for artifacts relate to practices used by PGP, Apache Security Team, and Central Repository Managers like Nexus Repository and Artifactory.
The Project Object Model (POM) is Maven’s core descriptor analogous to manifest files used in Java Platform, Standard Edition projects and metadata formats employed by OSGi and RPM Package Manager. The POM declares coordinates used across registries like Maven Central and mirrors maintained by Apache Software Foundation mirror networks and corporate hosts such as Sonatype Nexus and JFrog Artifactory. Organizations including SpringSource, Google, IBM, Red Hat, and Oracle publish artifacts with POMs that enable transitive dependency resolution used by build orchestrators like Bazel and Buck.
Maven’s lifecycle phases (validate, compile, test, package, verify, install, deploy) map to stages in CI/CD pipelines employed by Jenkins, GitLab CI, GitHub Actions, and CircleCI. Plugins implement goals for tasks like compilation using Apache Compiler (Java), testing via JUnit, TestNG, or integration testing with Arquillian, and packaging artifacts for containers with integrations for Docker and Kubernetes. Community and vendor plugins are provided by entities such as Apache Software Foundation, Sonatype, JBoss, Spring Framework, and Google to support deployment to platforms like AWS, Azure, and Google Cloud Platform.
Dependency mediation in Maven uses transitive resolution strategies similar to package managers like npm (software), pip (package manager), and NuGet but targeted to JVM artifacts produced by OpenJDK, Oracle JDK, Eclipse OpenJ9 runtimes. Mechanisms for version ranges, exclusions, and dependencyManagement sections are applied by teams at Apache Software Foundation, Spring, Hibernate (framework), Guava (software), and Apache Commons to coordinate releases. Practices for license auditing and vulnerability scanning integrate with tools and standards used by CVE, OWASP, Snyk, Dependabot, and WhiteSource.
Maven relies on artifact repositories such as Maven Central, Sonatype Nexus, and JFrog Artifactory for distribution of JARs, WARs, and POMs referenced by projects like Apache Hadoop, Apache Spark, Elasticsearch, Cassandra (database), and Log4j. Mirror networks and proxy repositories used by enterprises include services from GitHub Packages, GitLab Package Registry, and AWS CodeArtifact. Release management workflows align with release engineering practices used by Debian, Red Hat Package Manager, and Homebrew (package manager) contributors.
Maven is widely adopted across open-source projects such as Apache Maven Plugins, Spring Boot, Hibernate (framework), Apache Kafka, Apache Camel, Apache HBase, Apache Solr, Apache Flink, and Apache Beam and used in enterprises including Netflix, Twitter, LinkedIn, Airbnb, and Spotify. Ecosystem tools and services integrate with Maven, including IDEs like Eclipse, IntelliJ IDEA, NetBeans, CI/CD systems like Jenkins and GitHub Actions, repository managers such as Nexus Repository and Artifactory, code quality platforms like SonarQube, and dependency scanners from Snyk and WhiteSource. Academic and industry conferences where Maven is discussed include ApacheCon, JavaOne, Devoxx, and QCon.
Category:Build automation software