Apache Maven - Project Management and Comprehension Tool

  •        377

Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.




Related Projects

Graddle - Build Process Automation

Gradle pushes declarative builds to the next level by providing declarative language elements that you can assemble as you like. Those elements also provide build-by-convention support for Java, Groovy, OSGi, Web and Scala projects. This declarative language is extensible, add yours or extend exiting one.

monasca-api - Monasca REST API

monasca-api is a RESTful API server that is designed with a layered architecture.There is a pom.xml in the base directory that should only be used for the StackForge build. The StackForge build is a rather strange build because of the limitations of the current StackForge java jobs and infrastructure. We have found that the API runs faster if built with maven 3 but the StackForge nodes only have maven 2. This build checks the version of maven and if not maven 3, it downloads a version of maven 3 and uses it. This build depends on jars that are from monasca-common. That StrackForge build uploads the completed jars to http://tarballs.openstack.org/ci/monasca-common, but they are just regular jars, and not in a maven repository and sometimes zuul takes a long time to do the upload. Hence, the first thing the maven build from the base project does is invoke build_common.sh in the common directory. This script clones monasca-common and then invokes maven 3 to build monasca-common in the common directory and install the jars in the local maven repository.

Apache Archiva - Repository Management Tool

Archiva is the perfect companion for build tools such as Maven, Continuum, and ANT. Archiva offers several capabilities, amongst which remote repository proxying, security access management, build artifact storage, delivery, browsing, indexing and usage reporting, extensible scanning functionality and many more!


Simple maven plugin that provides a very lightweight wrapper around grails via the command line. Grails retains ownership of build dependency management. Maven is only used to invoke the phases of the build lifecycle. Grails project is not aware and does not depend on the presence of Maven. Good if you want your larger project driven by Maven, but want to be able to drop into a specific grails project and pretend Maven (and the complexity of Maven<->Grails integration) does not exist.


NPanday is a project to integrate Apache Maven into .Net development environments, allowing you to use open source build infrastructure and Maven repositories. It includes both a Visual Studio add-in to use Maven, and a set of plugins for Maven that build .Net applications.

Kobalt - A Kotlin-based build system for the JVM

Kobalt is a build system inspired by Gradle and Maven. It reuses the best concepts from these two successful and popular build systems while adding a few modern features of its own. Kobalt is written entirely in Kotlin and its build files are valid Kotlin files as well.

perl-maven-testbed - A testbed to see how to build perl in maven (without dependency management)

A testbed to see how to build perl in maven (without dependency management)

Pants - Build System for Software Projects in a variety of Languages

Pants is a build system for software. It works particularly well for a source code workspace containing many distinct but interdependent pieces. It is optimizes for building multiple, dependent things from source, building code in a variety of languages, speed of build execution. A Pants build sees only the target it's building and the transitive dependencies of that target. This approach works well for a big repository containing several things.

Apache Turbine - Servlet based framework that allows Java developers to quickly build web applicatio

Turbine is a servlet based framework that allows Java developers to quickly build web applications.

Continuum - Continuous Integration and Build Server

Apache Continuum is an enterprise-ready continuous integration server with features such as Automated builds, Release management, Role-based security, and Integration with popular build tools and Source control management systems. Whether you have a centralized build team or want to put control of releases in the hands of developers, Continuum can help you improve quality and maintain a consistent build environment.

godep - dependency tool for go

godep helps build packages reproducibly by fixing their dependencies.This tool assumes you are working in a standard Go workspace, as described in http://golang.org/doc/code.html. We expect godep to build on Go 1.4* or newer, but you can use it on any project that works with Go 1 or newer.

Buck - An Android build tool from Facebook

Buck is a build system for Android that encourages the creation of small, reusable modules consisting of code and resources. Because Android applications are predominantly written in Java, Buck also functions as a Java build system. Buck builds independent artifacts in parallel to take advantage of multiple cores. Further, it reduces incremental build times by keeping track of unchanged modules so that the minimal set of modules is rebuilt.

Bazel - Google's own build tool

Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google's software, and thus it has been designed to handle build problems present in Google's development environment. A comprehensive, built-in set of rules lets you build software for a wide variety of languages and platforms right out of the box.

SyncDeps - [Working] A command-line tool to help with build dependency management

[Working] A command-line tool to help with build dependency management


This project represents a template for what a Netflix OSS project should look like. We're striving for a pure Gradle build, instead of taking a consolidated plugin approach, as we would internally. This will maintain each project's isolation and keep the build as transparent as possible to the outside world. While at the same time we want to be able to push out build updates in a predictable fashion.The goal is that projects will be able to "git merge build/branch" when changes are needed to be pushed out. If you take the wrong branch and consequently heavily modify the files, the merge will be a pain. The other advantage of using an appropriate branch is to provide a level of consistency between the projects. The master branch is best for new projects who want something working out of the gate, but after that you'd migrate to merging from the multi-project so that you don't get bad merges from the same java files. The multi-project branch is for projects which have multiple modules that will be published together, e.g. client, common and server modules. Gradle is very good at building multiple projects, but it does require slightly different syntax and isolation from the rootProject, hence the separate project. The single-project branch is the simplest build which is for a single project. All project use a Maven layout, e.g. src/main/java.

gopm - Go Package Manager (gopm) is a package manager and build tool for Go.

Gopm (Go Package Manager) is a Go package manage and build tool for Go.News Try out gopm.io, the online version caching and package download service for Go.

BinDeps.jl - Tool for building binary dependencies for Julia modules

Since there seems to be a lot of confusion surrounding the package systems and the role of this package, before we get started looking atthe actual package, I want to answer a few common questions: * What is `BinDeps`? `BinDeps` is a package that provides a collection of tools to build binary dependencies for Julia packages. * Do I need to use this package if I want to build binary dependencies for my Julia package? Absolutely not! The system is designed to give the maximum amount o

pride - Manages a pride of Gradle modules

Pride works with the concept of modules: Git or Subversion repositories that contain individual Gradle projects that depend on each other. You can build large applications of such modules, but while working on the application in your local development environment, you rarely need to work on all of the modules at the same time.If you only want to work on one module at a time, it's no problem, as Gradle will load the module's dependencies from whatever artifact repository you are deploying your bu

crumb - crumb - a tool for generic dependency scanning, and a build system prototype

crumb - a tool for generic dependency scanning, and a build system prototype

jsbuild - Build tool for the JS.Package dependency system

Build tool for the JS.Package dependency system