Maven Quick Start: A Fast Introduction to Maven by Example

A software engineer's starter guide to Apache Maven using step-by-step tutorials.
Rating: 4.5 out of 5 (2,263 ratings)
35,035 students
Maven Quick Start: A Fast Introduction to Maven by Example
Rating: 4.5 out of 5 (2,263 ratings)
35,035 students
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

Requirements

  • Basic Computer Skills
  • Ability to install software (may require admin rights)
Description

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!

Who this course is for:
  • Java developers
  • Developers unfamiliar with Maven
  • DevOps Engineers
  • IT Managers that want an overview of Maven
Course content
12 sections • 78 lectures • 3h 9m total length
  • Welcome: What's In This Course
    01:59
  • Maven Key Concepts
    04:04
  • Course Tools
    02:08
  • Quick Installation Overview
    01:06
  • Quick Installation Process for Windows Users
    08:30
  • Quick Installation Notes for Windows Users
    03:51
  • Quick Installation Process for Mac OS X Users
    06:19
  • Quick Installation Notes for Mac OS X Users
    03:20
  • Quick Start Overview
    01:00
  • The Setup: Source Control
    01:17
  • The Setup: Project Folder
    02:26
  • Accessing the Sample Content
    00:30
  • Maven Lifecycles Explained
    01:32
  • Minimal Maven Project
    03:04
  • Update Git Repository
    01:36
  • Directory Conventions in Maven
    01:32
  • Standard Directory Templates Explained
    02:57
  • Preserving Folders within Git
    02:33
  • Adding Java Source
    03:01
  • Building with Maven and the Target Directory
    01:34
  • Removing the Previous Build Results
    00:40
  • Multiple Goals
    01:16
  • Maven Local Repository
    04:18
  • Cleanup: Commit Changes to Git
    03:46
  • Plugins Overview
    01:14
  • Plugin Introduction and Documentation
    02:15
  • The Setup: Modern Java Source
    02:33
  • Compiler Plugin and Execution
    02:52
  • Executing the Sample Application
    00:42
  • Cleanup: Update Git Repository
    01:22
  • Dependency Overview and Scopes Explained
    02:57
  • Adding Dependencies
    01:56
  • Adding Dependencies from Maven Central
    02:29
  • Cleanup: Saving Changes in Git
    00:48
  • Listing Project Dependencies
    01:37
  • Unit Testing Overview
    00:15
  • Adding Unit Test Code
    02:02
  • JUnit Dependency Update
    01:52
  • Running Tests with Maven
    01:20
  • Test Reports
    01:11
  • Cleanup: Commit Changes in Git
    01:26
  • Eclipse-Maven Integration Overview
    00:25
  • Eclipse Quick Install on Windows
    01:29
  • Eclipse Quick Install on Mac OS X
    02:18
  • Creating a New Maven Project in Eclipse
    02:34
  • Importing Existing Maven Projects into Eclipse
    01:10
  • Reviewing the POM File within Eclipse
    02:15
  • Running Maven within Eclipse
    02:18
  • Cleanup: Git Updates
    04:56
  • Using Archetypes Overview
    00:24
  • Archetypes Documentation
    03:50
  • Simple Project and Review
    03:26
  • Generating a Project Non-Interactively
    02:12
  • Simple Project Review and Build
    02:45
  • Review and Final Thoughts
    00:56
  • Windows 10 Full Installation Overview
    02:20
  • Platform (32 vs 64 bits)
    01:25
  • Chrome Installation (Optional)
    02:42
  • Git for Windows Installation
    05:37
  • Git for Windows Help
    01:10
  • Git for Windows Minimal Configuration
    03:18
  • Notepad++ Installation
    05:18
  • Notepad++ Git Integration
    04:40
  • Java SDK (JDK) Installation
    03:12
  • Java SDK (JDK) Configuration
    02:54
  • Maven Installation
    04:40

Instructor
Lead Software Engineer, Dev Trainer (19 courses,50k reviews)
Jason Taylor
  • 4.3 Instructor Rating
  • 52,918 Reviews
  • 402,089 Students
  • 19 Courses

With nearly 20 years of programming and software development experience, I started out teaching myself programming while in High School. I put myself through college working for a local Internet Service Provider as a programmer. Before finishing college, I developed and sold an award winning website to a Dot-Com start-up. After college, I have worked at several companies ranging from start-ups to large enterprises focusing on Java and client-side technologies (HTML/CSS/JavaScript). Throughout my career, I have opportunity to learn many software development best practices and exposure to several version control systems.