Select Page

Continuous build with Apache Maven

Continuous build with Apache Maven
Maven is a software tool for #Java project management and build automation created by Jason van Zyl in 2002. It is similar in functionality to the Apache Ant tool (and to a lesser extent, PHP’s PEAR and Perl’s CPAN), but has a simpler build configuration model, based on an XML format. #Maven is hosted by the Apache Software Foundation, where it was formerly part of the Jakarta Project.

Maven uses a construct known as a Project Object Model (POM) to describe the software project
being built, its dependencies on other external modules and components, and the build order.
It comes with pre-defined targets for performing certain well defined tasks such as compilation
of code and its packaging.

A key feature of #Maven is that it is network-ready. The core engine can dynamically download
plug-ins from a repository
, the same repository that provides access to many versions of different
Open Source #Java projects, from Apache and other organizations and developers. This repository
and its reorganized successor, the #Maven 2 repository, strives to be the de facto distribution
mechanism for #Java applications, but its adoption has been slow. Maven provides built in support
not just for retrieving files from this repository, but to upload artifacts at the end of the build.
A local cache of downloaded artifacts acts as the primary means of synchronizing the output of
projects on a local system.

Maven is based on a plugin-based architecture that allows it to make use of any application
controllable through standard input. Theoretically, this would allow anyone to write plugins to
interface with build tools (compilers, unit test tools, etc.) for any other language.
from WikiPedia

About The Author

I worked with various Insurances companies across Switzerland on online applications handling billion premium volumes. I love to continuously spark my creativity in many different and challenging open-source projects fueled by my great passion for innovation and blockchain technology.In my technical role as a senior software engineer and Blockchain consultant, I help to define and implement innovative solutions in the scope of both blockchain and traditional products, solutions, and services. I can support the full spectrum of software development activities, starting from analyzing ideas and business cases and up to the production deployment of the solutions.I'm the Founder and CEO of Disruptr GmbH.