Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

The BasePOM project - "All the BasePOMs in the world"

The BasePOM project aims to make using Apache Maven as a build tool painless. It provides a set of well known plugins for Apache Maven with an opinionated base configuration and a number of configuration options. It is aiming at Java projects but can easily be extended for other languages that are supported by Apache Maven.

It provides base configurations for unified, organization-wide build setups and supports simple project setups and complex Multi Module project use cases.

BasePOM and its private predecessors have been in use in many companies and open-source projects since 2010.

Core features of BasePOM:

Opinionated configuration. BasePOM Parent POMs configure Maven Plugins with reasonable defaults

Property based customization. BasePOM Parent POMs expose a number of properties that can be customized in Child POMs or from the command line

Profile activation. BasePOM Parent POMs contain a number of profiles that activate under specific conditions and customize build steps or activate specific plugins

Policy modifications. Any aspect of a BasePOM Parent POM can be customized through Policy POMs

Full documentation and user guide

Building, deployment and releasing

Building and deployment

# install BasePOMs locally
% make install

# deploy BasePOMs to remote (snapshot) repository
% make deploy

Create and deploy documentation

# create local docs in docs/target/site
% make docs

# deploy documentation to the site
% make deploy-docs

Create a release

# create a release to OSS
% make release

The BasePOM code is licensed under the Apache Software License v2 (ASLv2)

(C) 2013-2023 Henning Schmiedehausen

ci Latest Release