9

Click here to load reader

Apache Maven

Embed Size (px)

DESCRIPTION

Presentation about Apache Maven - project management and build tool.

Citation preview

Page 1: Apache Maven

© Adastra Group

Software project management tool

jPrase

Vít Kotačka

21. 4. 2010

Page 2: Apache Maven

2

Agenda

Convention over configuration

Build lifecycle

Dependency management

Plugins

Multiple modules

Profiles

Continuous integration

Page 3: Apache Maven

3

Convention over configuration

Ruby on Rails, Grails, EJB3 (JPA)

layout

src/main/java

src/main/resources

src/main/webapp

src/test/java

src/test/resources

Page 4: Apache Maven

4

Build lifecycle

validate

compile

test

package

install

deploy

Page 5: Apache Maven

5

Dependency management

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>servlet-api</artifactId>

<version>2.5</version>

<scope>provided</scope>

</dependency>

<scope>

compile

provided

runtime

test

system

Page 6: Apache Maven

6

Plugins

maven-archetype-plugin

maven-eclipse-plugin

maven-dependency-plugin

maven-ear-plugin

maven-jetty-plugin

Page 7: Apache Maven

7

Multiple modules

ear

war

ejb

my project

Page 8: Apache Maven

8

Profiles

web

common

mobile

development

test

production

Page 9: Apache Maven

9

Continuous integration

maintain a code repository

automate the build

make the build self-testing

everyone commits every day

every commit should be built

keep the build fast

test in a clone of the production environment

make it easy to get the latest deliverables

everyone can see the results of the latest build

automate deployment