120 likes | 289 Views
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. <project>
E N D
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 <project> <name>TestApp</name> <groupId>pl.test</groupId> <artifactId>TestApp</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>tomcat</groupId> <artifactId>servlet-api</artifactId> <version>5.5.12</version> <scope>compile</scope> </dependency> <dependencies> <build/> <reporting/> … <licenses/> <contributors/> …
Struktura projektu TestApp |-- pom.xml |-- src | |-- main | | |-- java | | | `-- pl | | | `-- test | | | `-- Test.java | | `-- resources | | `-- META-INF | | `-- application.properties | `-- test | `-- java | `-- pl | `-- test | `-- Test.java ‘-- target ‘– classes
Repozytoria (2) <project> … <dependencies> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>2.1</version> <scope>compile</scope> </dependency> </dependencies> … </project>
Przykładowa aplikacja (1) • Prosta aplikacja webowa • Zdefiniowane zależności • Wykorzystanie testów jednostkowych • Generowanie strony projektu
Przykładowa aplikacja (2) • Podział projektu na moduły • Różne typy plików wynikowych • Ostateczne otrzymanie pliku EAR
Podsumowanie - zalety • Szybkość konfiguracji • Zarządzanie zależnościami • Przyspieszenie procesu tworzenia oprogramowania • Wspomaganie przeprowadzania testów jednostkowych • Możliwość rozszerzania poprzez system wtyczek
Podsumowanie - wady • Niewielka liczba wtyczek dla wersji 2.0 • Słaba dokumentacja • Słaba integracja z IDE wersji 2.0
Maven Zasoby: • http://maven.apache.org • http://mojo.codehaus.org • Maven: A Developer's Notebook (O’Reilly)