4.04 out of 5
4.04
1562 reviews on Udemy

Maven Quick Start: A Fast Introduction to Maven by Example

A software engineer's starter guide to Apache Maven using step-by-step tutorials.
Instructor:
Jason Taylor
24,563 students enrolled
English
Understand the key concepts in Maven
Install and Configure Maven on Mac and Windows platforms
Build Java projects using Maven
Find and manage dependencies in Maven
Use Maven with Eclipse
Integrate Git source control with Maven projects

The Maven Quick Start course is designed to cut academic theory to just the key concepts and focus on basics tasks in Maven in order to be productive quickly. The lessons and examples provided are delivered in a step-by-step, detailed way to ensure mastery of the skills and topics covered.

Course Outline

Introduction walks through the course goals, approach and the core concepts of Maven.

After that, we breeze through installation of all required tools in the Quick Installation section. The full step-by-step installation process is available in the Bonus sections.

In Setup and Getting Help, we cover how to ask for help in Maven. We also download the course working files on GitHub.

With the formalities out of the way, we dive into a Maven Quick Start By Example, walking the foundational aspects of Maven using a sample application.

After the basics are covered, we explore Maven Plugins in more detail by customizing our project using them.

One of the key aspects of Maven, is how it handles Dependencies. We go deeper by adding dependencies from Maven Central and explore the role of scopes with dependencies in Maven.

Then we improve our project by Unit Testing — where we add JUnit tests, deal with (and avoid) testing failures. Finally, the last section of the main part of this course is dedicated to running Maven within Eclipse using the M2Eclipse plugin.

Finally, we will look at Using Archetypes to jump start Maven projects by using a template system.

During the entire course, we get into a habit of saving our changes periodically using Git source control.

Course Features

Presentations provide audio/video training of conceptual ideas. Since few like slide-ware presentations, slide-presentations are kept to a minimum.

Over 2 hours of Screencasts provide a video of the instructor’s computer system with any actions, commands, or screens displayed and narrated.

Project files and examples are all available on GitHub.

This course is fully closed captioned!

Introduction

1
Welcome: What's In This Course

A quick overview of the goals and objectives for this course, including essential theory, building a simple project, and more using an approach of short, focused, step by step videos.

2
Maven Key Concepts

An overview of the basics of what the Maven build tool is. Nearly everything is provided by plugins and POMs control the input/output flow of the build process.

3
Course Tools

An overview of what will be used in this course, namely that we will be using Maven through command line interfaces. We will also be using source control from Git as well as a text editor.

Quick Installation

1
Quick Installation Overview

An overview of what this section provides, an express installation for all of the tools that we will be using in this course.

2
Quick Installation Process for Windows Users

A quick guide to installing and configuring all the tools for this course on our Windows system, including Git for Windows, Notepad++, Java JDK, and Maven.

3
Quick Installation Notes for Windows Users
4
Quick Installation Process for Mac OS X Users

A quick guide to installing and configuring all the tools for this course on our Mac OS X system, including Git from Apple, Text Mate 2, Java  JDK, and Maven.

5
Quick Installation Notes for Mac OS X Users

Maven Quick Start By Example

1
Quick Start Overview

An overview of the topics covered in this quick start section, including our first Java project, small bits of theory, getting started on GitHub, creating a project in Maven, using POMs, demoing lifecycles, and updating GitHub.

2
The Setup: Source Control

Setting up the GitHub repository to be used with the Maven project in this section.

3
The Setup: Project Folder

Cloning our project down from GitHub to synchronize it, then creating our initial project folder we will be using in this section.

4
Accessing the Sample Content

Finding the GitHub repository that will be used throughout this course on the instructor's GitHub page.

5
Maven Lifecycles Explained

A quick overview of the theory of the Maven lifecycle, which mainly goes through compile, test, package, install, and deploy.

6
Minimal Maven Project

Setting up our first POM XML by using the sample basic one found on the example GitHub repository.

7
Update Git Repository

Updating our source control system by committing our changes that we have made so far.

8
Directory Conventions in Maven

Explaining the standard way in which directories are laid out in Maven, which allows Maven to find files without having to specify their location, as long as they follow this default file structure. This concept is known as convention over configuration.

9
Standard Directory Templates Explained

Setting up the default Maven folder structure so that we can initially run projects in Maven.

10
Preserving Folders within Git

Committing empty folders to Git by placing dummy files at the end of folder structures that we want to save.

11
Adding Java Source

Adding the Java source code to our initial project, creating the expected directory structure to make sure that the project will run smoothly.

12
Building with Maven and the Target Directory

Exploring the target of our just executed Java project within our Maven build, finishing by executing the new file.

13
Removing the Previous Build Results

Cleaning out our project workspace after our build has been built by using the clean phase goal.

14
Multiple Goals

Executing multiple goals at once in order to simplify maven by specifying both clean and package to clean out any artifacts before re-packaging our build.

15
Maven Local Repository

Looking at the local maven repository after executing the Maven install command, which will run further than the package command we have been using.

16
Cleanup: Commit Changes to Git

Cleaning up our current repository by making sure we are ignoring the correct parts of our Maven repository and then pushing these changes up to our GitHub repository.

Maven Plugins

1
Plugins Overview

An explanation of the critical base of Maven, plugins, including an overview of what they do, how plugins depend on one another, and what plugins are considered core to Maven itself.

2
Plugin Introduction and Documentation

Looking up the documentation for plugins that we have been using in order to understand how to change the defaults within those basic plugins, such as targeting a different version of Java.

3
The Setup: Modern Java Source

Using more modern features of java within our source code, which will require us to then change our Maven configuration file to take advantage of it by rendering with a newer version of Java.

4
Compiler Plugin and Execution

Using a custom plugin configuration in our main POM XML in order to target a newer version of Java with the feature set that we required from the previous lesson.

5
Executing the Sample Application

Executing the application we just modified and viewing the Maven results that occur.

6
Cleanup: Update Git Repository

Cleaning up the extra files by adding and committing our changes to our local Git repository and then remote GitHub repository.

Dependencies

1
Dependency Overview and Scopes Explained

Managing dependencies within Maven through the use of the Maven Central or other repositories that are called on by the plugin's own POM XML files.

2
Adding Dependencies

Modifying our Java application to be ready to take advantage of plugins in Maven by requiring and using the Java library "StringUtils".

3
Adding Dependencies from Maven Central

Resolving the dependencies by compiling our code and viewing the errors to understand where to look for our needed dependencies. We then add those researched plugins onto the POM XML as a dependency to force Maven to download the needed resources to be able to compile our Java project.

4
Cleanup: Saving Changes in Git

Saving our changes in Git and then pushing them back up to GitHub to make sure that we have a detailed history of what we have done in this course.

5
Listing Project Dependencies

Viewing a list of dependencies for an active project to get an idea of what Maven will be downloading and installing on your system when you run the POM XML.

Unit Testing

1
Unit Testing Overview

A quick overview of the topics that will be covered about unit testing in this section, including the tests themselves and prepared code for those tests.

2
Adding Unit Test Code

Adding code to our Maven project in order to run the unit tests within our Java project.

3
JUnit Dependency Update

Modifying our POM XML to add the dependencies we will need to use for the unit tests we will be running.

4
Running Tests with Maven

Running the tests we haves set up in previous lessons, reviewing the output of the tests in order to demonstrate how the tests themselves work.

5
Test Reports

Viewing the reports that are generated by "surefire" when we ran our tests in the previous lesson. There is an XML file to be read by automated systems, and a human readable text file that summarizes our test results.

6
Cleanup: Commit Changes in Git

Saving our changes in Git and then pushing them back up to GitHub to make sure that we have a detailed history of what we have done in this  course.

Maven within Eclipse

1
Eclipse-Maven Integration Overview

Introducing an IDE to allow us to work graphically with our Maven projects.

2
Eclipse Quick Install on Windows

A quick install guide to installing the IDE eclipse on our local Windows system.

3
Eclipse Quick Install on Mac OS X

A quick install guide to installing the IDE eclipse on our local Mac system.

4
Creating a New Maven Project in Eclipse

Creating a new Maven project within Eclipse, viewing the "hello world" type example files that are included when creating a base project.

5
Importing Existing Maven Projects into Eclipse

Using Eclipse to import the projects we have previously created by looking for their POM XML files.

6
Reviewing the POM File within Eclipse

Reviewing the POM XML with the visual features that are added by Eclipse.

7
Running Maven within Eclipse

Using Eclipse to run the Maven project we imported in a previous lesson, looking at the output within the terminal window in Eclipse, as well as modifying the goals that are run when we run the Maven project.

8
Cleanup: Git Updates

Using Eclipse to save changes in Git and push those changes up to GitHub using the native Git integration.

Using Archetypes

1
Using Archetypes Overview

An overview of what archetypes are and why you might want to use them over starting from scratch.

2
Archetypes Documentation

A quick look at how Maven archetypes can help jump start your Maven projects. This will be done through researching how to use and then using the default archetype to generate our new project.

3
Simple Project and Review

Exploring the new project that we created through the archetype feature in Maven, finishing off by deleting the project to start over in the next lesson.

4
Generating a Project Non-Interactively

Using a more verbose command to create a Maven archetype without stepping through the wizard that we used last time.

5
Simple Project Review and Build

Reviewing the project we just generated through the Maven archetype, building our project and then reviewing the artifacts from it.

Conclusion

1
Review and Final Thoughts

A final summary of what we have learned about Maven in this course.

Bonus: Full Installation on Windows 10

1
Windows 10 Full Installation Overview

A guide to the programs that will be installed in this section, including Chrome, Git for Windows, Notepad++, Java, and Maven.

2
Platform (32 vs 64 bits)

Determining whether the platform you are on is 64 or 32 bit to ensure you install the correct version of software for your system.

3
Chrome Installation (Optional)

Installation of the web browser Google Chrome on our local Windows system.

4
Git for Windows Installation

Installing the versioning software Git for Windows onto our local Windows System.

5
Git for Windows Help

Getting help on commands we are going to be using in this course by using the "git help" command to detail how to use things.

6
Git for Windows Minimal Configuration

Setting up the minimal configuration needed by Git to get our Git for Windows setup working.

7
Notepad++ Installation

Installing the text editor Notepad++ onto our local Windows system.

8
Notepad++ Git Integration

Integrating our text editor Notepad++ with our install of Git for Windows.

9
Java SDK (JDK) Installation

Installing the software development tool, the Java JDK, onto our local Windows System.

10
Java SDK (JDK) Configuration

Configuring our local system to have a virtual link to our Java installation through the Java_home variable.

11
Maven Installation

Installing the software development tool Maven onto our local Windows system.

Bonus: Full Installation on Mac OS X

1
Mac OS X Full Installation Overview

A guide to the programs that will be installed in this section, including Chrome, Git from Apple, TextMate 2, Java, and Maven.

2
Chrome Installation (Optional)

Installation of the web browser Google Chrome on our local Mac OS X system.

3
Apple Git Installation

Installing the versioning software, Git, on our local system using the command line utility provided by Apple.

4
Git Started: Help

Getting help on commands we are going to be using in this course by using the "git help" command to detail how to use things.

5
Minimal Git Configuration

Setting up the minimal configuration needed by Git to get our Git setup working.

6
TextMate 2 Installation

Installing the text editor TextMate 2 on our local Mac OS system.

7
TextMate 2 Configuration

Configuring TextMate 2 to be more usable throughout the rest of this course.

8
TextMate 2 Git Integration

Configuring TextMate 2 to integrate closely with our installation of Git.

9
Maven Installation

Installing the software development tool Maven onto our local Mac OS system.

10
Java Installation

Installing the software development tool, the Java JDK, onto our local Mac OS System.

11
Bash Profile and Git Prompt

Updating our terminal prompt to be more usable throughout this section by using a script.

Special Offers

1
Bonus: Exclusive Student Discounts
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4
4 out of 5
1562 Ratings

Detailed Rating

Stars 5
686
Stars 4
571
Stars 3
242
Stars 2
45
Stars 1
20
1672a041e020554fc638e3c87d086a1d
30-Day Money-Back Guarantee

Includes

3 hours on-demand video
3 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion