Maven

12
2005-12-05 2005-12-05 1 Maven Maven Autor: Krzysztof Jasiołek

description

Maven. Autor: Krzysztof Jasiołek. Plan prezentacji. Czym jest Maven? Struktura projektu Repozytoria Przykładowe projekty. Czym jest Maven?. Narzędzie wspomagające budowanie projektów Napisany w Javie Open Source Różnice w stosunku do ANT-a. Project Object Model. - PowerPoint PPT Presentation

Transcript of Maven

Page 1: Maven

2005-12-052005-12-05 11

MavenMaven

Autor: Krzysztof Jasiołek

Page 2: Maven

2005-12-05 2

Plan prezentacjiPlan prezentacji

►Czym jest Maven?Czym jest Maven?►Struktura projektuStruktura projektu►RepozytoriaRepozytoria►Przykładowe projektyPrzykładowe projekty

Page 3: Maven

2005-12-05 3

Czym jest Maven?Czym jest Maven?

►Narzędzie wspomagające budowanie Narzędzie wspomagające budowanie projektówprojektów

►Napisany w JavieNapisany w Javie►Open SourceOpen Source►Różnice w stosunku do ANT-aRóżnice w stosunku do ANT-a

Page 4: Maven

2005-12-05 4

Project Object ModelProject Object Model<project><project> <name>TestApp</name><name>TestApp</name> <groupId>pl.test</groupId><groupId>pl.test</groupId> <artifactId>TestApp</artifactId><artifactId>TestApp</artifactId> <packaging>war</packaging><packaging>war</packaging> <version>1.0-SNAPSHOT</version><version>1.0-SNAPSHOT</version> <dependencies><dependencies> <dependency><dependency> <groupId>tomcat</groupId><groupId>tomcat</groupId> <artifactId>servlet-api</artifactId><artifactId>servlet-api</artifactId> <version>5.5.12</version><version>5.5.12</version> <scope>compile</scope><scope>compile</scope> </dependency></dependency> <dependencies><dependencies> <build/><build/> <reporting/><reporting/> … … <licenses/><licenses/> <contributors/><contributors/> … …

Page 5: Maven

2005-12-05 5

Struktura projektuStruktura projektuTestAppTestApp|-- pom.xml|-- pom.xml|-- src|-- src| |-- main| |-- main| | |-- java| | |-- java| | | `-- pl| | | `-- pl| | | `-- test| | | `-- test| | | `-- Test.java| | | `-- Test.java| | `-- resources| | `-- resources| | `-- META-INF| | `-- META-INF| | `-- application.properties| | `-- application.properties| `-- test| `-- test| `-- java| `-- java| `-- pl| `-- pl| `-- test| `-- test| `-- Test.java| `-- Test.java ‘ ‘-- target-- target ‘– ‘– classesclasses

Page 6: Maven

2005-12-05 6

Repozytoria (1)Repozytoria (1)

Page 7: Maven

2005-12-05 7

Repozytoria (2)Repozytoria (2)<project><project>

……

<dependencies><dependencies>

<dependency><dependency>

<groupId>commons-collections</groupId><groupId>commons-collections</groupId>

<artifactId>commons-collections</artifactId><artifactId>commons-collections</artifactId>

<version>2.1</version><version>2.1</version>

<scope>compile</scope><scope>compile</scope>

</dependency></dependency>

</dependencies></dependencies>

……

</project></project>

Page 8: Maven

2005-12-05 8

Przykładowa aplikacja (1)Przykładowa aplikacja (1)

►Prosta aplikacja webowaProsta aplikacja webowa►Zdefiniowane zależnościZdefiniowane zależności►Wykorzystanie testów jednostkowychWykorzystanie testów jednostkowych►Generowanie strony projektuGenerowanie strony projektu

Page 9: Maven

2005-12-05 9

Przykładowa aplikacja (2)Przykładowa aplikacja (2)

►Podział projektu na modułyPodział projektu na moduły►Różne typy plików wynikowychRóżne typy plików wynikowych►Ostateczne otrzymanie pliku EAROstateczne otrzymanie pliku EAR

Page 10: Maven

2005-12-05 10

Podsumowanie - zaletyPodsumowanie - zalety

►Szybkość konfiguracjiSzybkość konfiguracji►Zarządzanie zależnościamiZarządzanie zależnościami►Przyspieszenie procesu tworzenia Przyspieszenie procesu tworzenia

oprogramowaniaoprogramowania►Wspomaganie przeprowadzania testów Wspomaganie przeprowadzania testów

jednostkowychjednostkowych►Możliwość rozszerzania poprzez Możliwość rozszerzania poprzez

system wtyczeksystem wtyczek

Page 11: Maven

2005-12-05 11

Podsumowanie - wadyPodsumowanie - wady

►Niewielka liczba wtyczek dla wersji 2.0Niewielka liczba wtyczek dla wersji 2.0►Słaba dokumentacjaSłaba dokumentacja►Słaba integracja z IDE wersji 2.0Słaba integracja z IDE wersji 2.0

Page 12: Maven

2005-12-05 12

MavenMaven

Zasoby:Zasoby:►http://maven.apache.orghttp://maven.apache.org►http://mojo.codehaus.orghttp://mojo.codehaus.org►Maven: A Developer's Notebook Maven: A Developer's Notebook

(O’Reilly)(O’Reilly)