Maven II Jakub Wojtaszczyk Piotr Tabor

Slides:



Advertisements
Podobne prezentacje
Procedura instalacji systemu Linux
Advertisements

Inżynieria Oprogramowania
Zarządzanie konfiguracją oprogramowania
Marcin Piotrowski. Najpopularniejszymi darmowymi przeglądarkami są Internet Explorer, Opera, Mozilla Firefox, Google Chrome.
Wprowadzenie do C++ Zajęcia 2.
Microsoft Windows 2000 dla Administratora. Podstawowe możliwości Wielojęzyczność Wielojęzyczność Usprawnienia interfejsu użytkownika Usprawnienia interfejsu.
ADAM Active Directory w trybie aplikacyjnym
Środowisko Windows 2000.
Dodawanie i usuwanie oprogramowania
MS Access 2000 Tworzenie bazy danych Piotr Górczyński 2005.
20/09/ Języki programowania 1 Piotr Górczyński Kreator form.
Przeglądarka Internetowa
Dokumentowanie wymagań w języku XML
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Wykład 2: Systemy klasy C.A.T. (Computer-Aided Translation)
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Quartz. Wstęp Framework stworzony do budowy aplikacji biznesowych Metodologia która łączy prototypowanie, modelowanie wizualne oraz automatyzację budowy.
Projekt i implementacja aplikacji do zasilania bazy danych testowymi danymi Jacek Lis Promotor: prof. dr hab. inż. Włodzimierz KASPRZAK.
REPOZYTORIA 1. Co to są repozytoria?
Atlantis INSPECTOR System wspomagania zarządzaniem i ewidencją obiektów sieciowych.
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Systemy zarządzania treścią Wykład 1
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
Instytut Tele- i Radiotechniczny WARSZAWA
Podstawy programowania. Język C i C++– podstawy Temat: 1
Continuous Integration
Generator analizatorów leksykalnych
Generatory dokumentacji kodu źródłowego
Wprowadzenie do obsługi programu PowerPoint
Informatyczny system edukacyjny do przedmiotu „Multimedia”
Lokalne serwery www Serwer WWW - ang. Web server jest to oprogramowanie zainstalowane na serwerze podłączonym do sieci Internet. Używające technologii.
Eclipse – zintegrowane środowisko programistyczne
Prezentacja i szkolenie
Tworzenie aplikacji mobilnych
Programowanie obiektowe – zastosowanie języka Java SE
Przeglądanie zasobów komputera - uruchamianie programów
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Systemy zarządzania treścią Wykład 5
Generator ofert – wersja beta
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
Podstawy języka skryptów
Weed Wizualna eksploracja danych Tomasz Płuciennik Marcin Mielnicki Michał Krysiński Rafał Fabiański.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Programowanie w językach skryptowych
Prom Pisanie pluginów Maciej Sobkowiak & Tomek Ciesielczyk.
Efektywne tworzenie oprogramowania 2008/2009. Forty Years of Software Engineering Konferencja w Garmisch – uczestników Prof. Bauer TUM przewodniczący.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
CAD Automation dla wydruków 3D
Dokumentacja programu komputerowego i etapy tworzenia programów.
Rozpowszechnianie aplikacji KRYSTIAN KOWALCZUK TORUŃ,
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
MAS Rafał Hryniów. Agenda  Zasady  Referaty  Projekt  Kolosy.
Prezentacja programu PowerPoint
Uruchomienie systemu kdpw_otc - rozwiązania techniczne 20 września 2012 r.
InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Innowacyjne metody.
Procedura instalacji Linuksa. Z serwera pobieramy obraz płyty. Nagrywamy obraz na płytę. Sprawdzamy ustawienia w BIOS – podczas uruchamiania systemu napęd.
Instalacja klucza HASP.
Optymalizacja programów Open-Source
Gotowy intranet dla platformy
Kurs Access.
dr Agnieszka Brzozowska
Git - system kontroli wersji
PROGRAMY DO KONTROLI RODZICIELSKIEJ
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Content Management System
Programowanie obiektowe – zastosowanie języka Java SE
Wskaż wybrany krok lub kliknij Enter aby dowiedzieć się więcej.
Aplikacje i usługi internetowe
Zapis prezentacji:

Maven II Jakub Wojtaszczyk Piotr Tabor

Plan ➢ Wstęp ➢ Porównamy Maven II i Anta ➢ Zainstalujemy Mavena II ➢ Stworzymy i obejrzymy „Pierwszy projekt” ➢ Omówimy mechanizmy wersje ➔ Wersje ➔ Repozytoria ➔ Fazy ➔ Stworzymy złożony projekt (JSF,EJB) ➔ Przejrzymy listę wtyczek ➔ Zapoponujemy zadania

Korzyści ● Automatyczne tworzenie projektu ● Automatyzacja powtarzajacych się zadań (budowanie, testowanie, publikowanie, itp.) ● Uniezależnić projekt od różnych środowisk developerskich (bez utraty korzyści ze spójnego środowiska) ● Odciążenie użytkownika od wszystkiego co da sie zautomatyzować ● Wprowadzić standardy organizacji projektu

Konwencje ● Układ katalogów projektu ● Jeden projekt – prawie zawsze jeden plik wynikowy (jar, war) – artefakt ● Nazewnictwo i konstrukcja plików wynikowych ● Jeden standard opisu projektu: POM – Project Object Model

A co z mrówkiem ? MAVEN ● Niezależny od systemu operacyjnego ● Język opisu projektu, zorientowny na dostarczenie spójnej informacji o cechach projektu – wtyczkom, które wykorzystają te mechanizmy na różnych sposób ● Deklaratywny (jak Prolog :) ) ANT ● Niezależny od systemu operacyjnego ● Język skryptowy z automatycznym sortowaniem topologicznym zadań ● Operacyjny (jak Bash)

Instalacja

Pierwszy projekt ● Tworzenie projektu ● Omówienie struktury katalogów ● Omówienie zawartości pliku POM ● Podłączenie projektu do Eclipsa ● Podłączenie projektu do NetBeana ● Podłączenie zależności ● Hello World ++ (ze stroną i dokumentacją)

Stabilne wersje artefaktów ● 1, 1.2.3, 1.2-beta ● Zapisywane są na repozytorium wersji stabilnych ● Nie powinny być modyfikowane po „udostępnieniu” - bo wersja powinna być jednoznaczna ● Mogą być zależnościami innych wersji stabilnych ● Powinny zależeć tylko od wersji stabilnych innych artefaktów

Rozwojowe wersje artefaktów (migawki) ● 1-SNAPSHOT, SNAPSHOT, 1.2-beta-SNAPSHOT ● Każdy build to „wersja”: (numer) - (data).(godzina)-(id) ● Zapisywane są na repozytorium wersji rozwojowych ● Mogą być dowolnie modyfikowane ● Maven uaktualnia je na żądanie (domyślnie raz dziennie) ● Nie mogą być zależnościami innych wersji stabilnych ● Mogą zależeć od wersji stabilnych i rozwojowych innych artefaktów ● Wersją stabilną po SNAPSHOT jest wersja 1.2.3

Repozytoria Maven'a ● Spójna organizacja plików ● Repozytoria światowe ( ● Repozytoria firmowe ● Repozytoria lokalne u użytkownika ● Automatyczna synchronizacja (w dół i w górę) ● Archiva

Project Object Model ● ● ●... ●......

Project Object Model

Project Object Model 3...

Jeszcze o zależnościach junit 4.0 jar test (compile, provided, runtime, test, system) ● Zależności są przechodnie

o fazach ● validate ● generate-sources ● process-sources ● generate-resources ● process-resources ● compilecompile the source code of the project. ● process-classes ● generate-test-sources ● process-test-sources ● generate-test-resources

o fazach 2 ● process-test-resources ● test-compile ● test ● prepare-package ● package ● pre-integration-test ● integration-test ● post-integration-testperform ● verify ● install ● deploy

O wtyczkach org.apache.maven.plugins maven-jar-plugin 2.0 test...

Bardziej skomplikowany przykład ● Projekty NIE są płaskie ● Aplikacja JSF – i działa ( ● Aplikacja EJB – i mamy oba jary gotowe

Co jeszcze Maven potrafi (przykłady) ● Przygotowywanie dystrybucji aplikacji (mvn assembly:assembly) ● Przygotowywanie release (mvn release:*) – Przygotowanie dystrybucji – Podbicie numerów wersji – Kompilacja i testy w piaskownicy – Odłożenie wersji w drzewie SVN – Wygenerowanie changelogów – Zamknięcie bugów w odpowienim systemie

Co jeszcze Maven potrafi (przykłady 2) ● Profile ● generowanie źródeł (xdoclet 1,2) ● obfuscator ● transformacje XSLT, generowanie klas JAXB ● uruchamianie Ant'a (antrun) ● deployowanie programowane na różnych serwerach aplikacji (cargo) ● Generowanie klas do obsługi WebServiców Axis, Axis2 (Java2WSDL, WSDL2Java) ●... dużo więcej

Wiedzieć więcej... ● Darmowa książka ( p) p ● Strona Mavena ( ● Google ( ;) ● Autorzy prezentacji (w szczególności przez najbliższe kilka minut) PYTANIA ?