There is a whole set of Java developer tools standardising and simplifying the build process. Ant, Gradle, Buildr and, of course, Maven are important examples. Maven is getting more and more popular especially in a business context, due to its convention over configuration philosophy. You can build and control a Java project with just a few configuration settings.

In this training course, build and configuration managers will learn to use the basic concepts of Maven in workaday life. Among these concepts are e.g. Repositories, GroupId, ArtifactId, Version. Numerous examples will be presented and the building process will be explained as well as the range of functionalities covered by Maven.

We will discuss the functions of Dependency Management and how artifacts can be integrated into Maven Central. Furthermore, we will present you with build structures in a business environment and the definition of enterprise-level standards.

Trainer und Dozenten

Karl Heinz Marbaise has 25 years of experience in software development. Since 20 years he is working with version control systems like RCS, CVS ClearCase and later on, Subversion and Git. He is conducting consultancy and training courses in the fields of software configuration management (Subversion, Branching Strategies, Migration Consultancy), Build Management (Ant, Maven, Hudson/Jenkins) and development processes. Furthermore, he is giving lectures on these subjects on conferences, e.g Subversion Conference and GearConf.


Knowledge in Java development is a basic prerequisite for this training course. Furthermore, experience in unit testing by means of JUnit or TestNG is required.

Also, basic know-how in the field of revision control (Subversion, Git or the like) will be helpful.


Maven basics:

  • Repositories, Lifecycle
  • Project Object Model (POM)
  • Maven coordinates
  • POM inheritance/aggregation
  • Archetypes


  • Definition of dependencies
  • Transitive dependencies
  • Dependency inclusions vs. exclusions

Case study

  • Elementary POM
  • Packaging, Unit Tests, Resources

Site generation

  • Creating a website
  • Publishing a site (deploy)
  • Documentation, apt, fmt, xdoc, reports

Reactor builds

  • Multiple modules
  • mvn install
  • Integration test
  • Packaging


  • Default assemblies
  • Archive types
  • Component descriptors
  • Creating test-jars

Release cycle

  • Functionality of the release cycle
  • Applying the release cycle
  • Signing artifacts in release cycles

Best practice, POM's, modules

  • Using properties: How to and why?
  • Resource filtering
  • Definiting and using own resources

Inside the settings.xml file

  • Server definition
  • Passwords
  • Deploy server


  • settings.xml
  • Profiles in POM's
  • Activiation of profiles
  • Environment, compatibility, refactoring POM's

Varied plugins

  • Compiler, jar
  • Changes, assembly, appassembler, buildnumber
  • Plugin, war, cargo, dependency, antrun


Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.