Some time ago I was asked if I would like to write a review about one of the new video courses from Packt Publishing. It was "Getting Started with Apache Maven" http://bit.ly/1fycmpP by Russell Gold and since I have been using Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM">Maven for some years now (since 2007) and did publish some articles myself, I thought it would be nice to help them promote Apache Maven.
The course is organized in eight chapters, forty videos with a length between two and five minutes, for a total length of two hours. The aim of the course is to provide the shortest path to use effectively Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM">Maven
You can download the course as a single zip file. After unpacking the file to a local hard disk you find a user guide, support information, a reference to the code examples and the video files. As you may notice I said "reference to the code examples". Even if the name of the file "Code Bundle.zip" it contains only a file with the link to the source code on github.
Each section is around twenty minutes and is again divided into four to six single videos. This makes it very easy to follow the course since you get small pieces to understand and make them watchable during your commuting. If you have a problem understanding the content you can just start over the video and do not have to navigate in a long video.
There is eight sections starting with the installation followed by typical maven topics like dependencies, plugins, reports and the release process.
In the first section you get a small info about the installation process and an overview about two main topics of Maven: repository and lifecycle. At first the lifecycle looks very complicated but in the following sections help to understand the concept behind this.
The next sections deal with the dependency handling, plugins, properties and reports. With this knowledge you have everything to set up a small project and get an idea how to change the build process.
The section six handles the release process and the work to do if you want to publish to Maven Central. The final two sections deal with multi module projects and some additional topics (interaction with ant, functional testing etc.). In these last sections the presentation of facts is much faster. For someone really starting with Maven this may be too much information for the first time.
Overall these video are a really good introduction to Apache Maven and its vocabulary.
- Introduction [18:29 minutes]
- Introduction to Apache Maven
- Installing Apache Maven
- Understanding the Maven Repository
- Understanding the Maven Lifecycle
- Understanding the Role of Plugins
- Dependencies [14:25 minutes]
- Introducing Maven Dependencies
- Controlling Maven Class paths
- Maven and Transitive Dependencies
- Managing Dependencies that All Projects Need – Part 1
- Managing Dependencies that All Projects Need – Part 2
- Plugins [16:14 minutes]
- Introducing Maven Plugins
- Adding Steps to a Maven Build
- Code Generation
- Managing Plugins with a Parent POM
- Finding Available Plugins
- Controlling the Build [17:16 minutes]
- Maven Build Properties
- Maven Profiles
- Profile Activation via Properties
- Profile Activation via Environment
- User Settings, Profiles and Repositories
- The Project Website [18:14 minutes]
- The Basic Website and Reports
- Using Report Plugins
- Creating Custom Pages
- FAQ (frequently asked question) Pages and Site Appearance
- Deploying to a Web Server
- The Maven Release Process [18:40 minutes]
- Deploying to a Repository
- Using Snapshots
- Preparing for a Release
- Releasing Maven Artifacts
- Preparing for an Open Source Release
- Publishing to Maven Central
- Multi-module Projects [12:42 minutes]
- Understanding the Multi-module Project
- Incremental Building with Multiple Modules
- Building a Website for a Multi-module project
- Releasing the Multi-module Project
- Maven Tricks and Patterns [19:47 minutes]
- Invoking Ant from Maven
- Accessing Maven Artifacts from Ant
- Building a Simple Installer
- Running Functional Tests
- Disabling Default Plugin Bindings and Excluding Transitive Dependencies
Some more links
- YouTube teaser: http://www.youtube.com/watch?v=TNRPmJ10-YA
- Publisher – Packt Publishing http://www.packtpub.com/getting-started-with-apache-maven/video
- Maven site: http://maven.apache.org