Linuxhotel

Villa Vogelsang

maven

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.

Schedules/Reservations

Tutors

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.

prerequisites for attending

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.

If you feel uncertain on this point, we look forward to assist you via email or phone.

Course contents

Maven basics:

Repositories, Lifecycle

Project Object Model (POM)

Maven coordinates

POM inheritance/aggregation

Archetypes

Dependencies

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

Assemblies

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

Profiles

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

Course schedule

Early arrival is possible on the eve of the first seminar day until 10 p.m. The fireplace room and the garden already invite to to a cosy round of shop talk.

The daily schedule runs from 9 a.m. to 6 p.m. (including two coffeebreaks and lunch break), consisting of approximately 60% of instructions and 40% of exercises. Needless to say that every participant works with his "own" dedicated notebook computer, often in step with the tutor.

After that, it's time for dinner and various offerings like shop talks, excursions et cetera. We aim at creating an ambience for a relaxed exchange among experts. If you'd like more to have a bit of privacy, nothing's compulsory here.