maven overview part 2 denver bea user's group and denver java user's group january 2006

29
Soaring Eagle L.L.C Maven Overview Part II Denver BEA User’s Group January 2006 Scott Ryan

Upload: soaring-eagle-llc

Post on 13-May-2015

448 views

Category:

Documents


0 download

DESCRIPTION

Part 2 of an overview of the Maven build system

TRANSCRIPT

Page 1: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Maven OverviewPart II

Denver BEA User’s GroupJanuary 2006Scott Ryan

Page 2: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Agenda

• Maven Lifecycle• Plugin project layout• Java Plugin Example• Ant Plugin Example• Plugin packaging• Pom configuration

Page 3: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Maven 2.0 lifecycle Summary

• 20 total phaseso validate o compile o test o package o integration-test o verify o install o deploy

Page 4: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Maven 2.0 lifecycle

• Lifecycle phases are executed in order• Goals are assigned to phases based on

project type (jar)o Compile - compiler:compileo Package - jar:jar

• Phases have dependencies and previous phases are always executed.

• Plugin goals can tie to lifecycle phases

Page 5: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Agenda

• Maven Lifecycle• Plugin project layout• Java Plugin Example• Ant Plugin Example• Plugin packaging• Pom configuration

Page 6: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Plug-in Packaging

Page 7: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Required Resources

• Java Plug-inso Pom.xmlo Java Code

• Ant Plug-inso Pom.xmlo basename.build.xmlo basename.mojos.xml

Page 8: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Agenda

• Maven Lifecycle• Plugin project layout• Java Plugin Example• Ant Plugin Example• Plugin packaging• Pom configuration

Page 9: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Hello World

Page 10: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Hello with Parameters

Page 11: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Pom.xml

Page 12: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Using the plug-in

Page 13: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Configuring Parameters

Page 14: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Configuring Complex Parameter types

• Boolean• Dates• URL’s• Lists• Maps • Properties

Page 15: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

List example

Page 16: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Let’s look at the Weblogic Plug-in

Page 17: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Agenda

• Maven Lifecycle• Plugin project layout• Java Plugin Example• Ant Plugin Example• Plugin packaging• Pom configuration

Page 18: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Build.xml

Page 19: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Mojos.xml

Page 20: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Using the Ant mojo in a project

Page 21: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Adding Parametersbasename.build.xml

Page 22: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Adding Parametersbasename.mojos.xml

Page 23: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Page 24: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Project configuration

Page 25: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Page 26: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Agenda

• Maven Lifecycle• Plugin project layout• Java Plugin Example• Ant Plugin Example• Plugin packaging• Real Code

Page 27: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Packaging

• Handled by plug-in support• mvn plugin:install• Can support multiple versions• settings.xml or pom.xml determine version

strategies• Plug-in registry allows you to control plug-

in versions

Page 28: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Page 29: Maven Overview Part 2 Denver BEA User's Group and Denver Java User's Group January 2006

Soaring Eagle L.L.C

Agenda

• Maven Lifecycle• Plugin project layout• Java Plugin Example• Ant Plugin Example• Plugin packaging• Real Code