Maven
description
Transcript of Maven
2005-12-052005-12-05 11
MavenMaven
Autor: Krzysztof Jasiołek
2005-12-05 2
Plan prezentacjiPlan prezentacji
►Czym jest Maven?Czym jest Maven?►Struktura projektuStruktura projektu►RepozytoriaRepozytoria►Przykładowe projektyPrzykładowe projekty
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
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/> … …
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
2005-12-05 6
Repozytoria (1)Repozytoria (1)
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>
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
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
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
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
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)