Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
Zbyněk Šlajchrt Část 1.
2
Software používaný na cvičeních
Apache Maven 2 nástroj pro správu a údržbu softwarových projektů Sun Glassfish v3 aplikační server platforma Java EE 6 Derby DB Relační databáze napsaná v Javě NetBeans (možno i další např. Eclipse, IDEA aj.) vývojové prostředí (IDE)
3
Co je Maven? Nástroj pro správu a údržbu softwarových projektů (napsaný v Javě) Management závislostí Životní cyklus projektu sekvence fází, namátkově compile, test, package, install Generování dokumentace Uskladnění tzv. artefaktů v repositáři artefakt je produkt sestavení projektu, např. jar, war ap.
4
Hlavní životní cyklus projektu
Fáze: process-resources – příprava zdrojových souborů, pre-processing compile – překlad process-test-resources – příprava zdrojových souborů testů test-compile – kompilace testů test – spuštění testů package – zabalení sestaveného projektu, vytvoření artefaktu install – instalace artefaktu na lokálním počítači deploy – instalace artefaktu na podnikovém (společném) počítači
5
Fáze a pluginy Na jednotlivé fáze se "lepí" tzv. pluginy, které vykonávají určitou činnost v rámci fáze životního cyklu. Každý plugin může vykonávat více činností, tzv. cíle (goals). K fázi se vždy váže cíl pluginu. K jedné fázi může být napojeno více cílů různých pluginů. Fáze Plugin:Cíl ... compile compiler:compile ... test surefire:test ...
6
Vedlejší životní cykly projektu
Fáze: pre-clean – akce prováděné před vyčištěním Clean: clean – odstranění pozůstatků z předchozích sestavení post-clean – akce prováděné po vyčištění pre-site – kompilace testů site – spuštění testů Site: post-site – zabalení sestaveného projektu, vytvoření artefaktu site-deploy – instalace artefaktu na lokálním počítači
7
Objektový model projektu (POM)
<project> <dependencies> </dependencies> <build> </build> </project> Všeobecné informace o projektu – název, verze ... Seznam přímých závislostí Konfigurace sestavení – cesty ke zdrojovým kódům, konfigurace pluginů ...
8
POM – všeobecné informace
<project> <groupId>cz.vse.javaee.cviceni</groupId> <artifactId>mySimpleApp</artifactId> <packaging>jar</packaging> <version>1.0</version> <name>mySimpleApp</name> <url> <dependencies> ... </dependencies> <build> </build> </project> Globálně unikátní jméno skupiny (často organizace, firma atp.) Název artefaktu (archivu) Způsob zabalení sestaveného projektu Verze projektu Název projektu. Často odpovídá názvu artefaktu. Stránka projektu
9
POM – seznam závislostí
<project> ... <dependencies> <dependency> <groupId>com.dev.heaven</groupId> <artifactId>nice-gadgets</artifactId> <version>2.1.5</version> <scope>compile</scope> </dependency> </dependencies> <build> </build> </project> Každá závislost je specifikována jedním elementem <dependency> Název skupiny artefaktu Název artefektu, často JARu Verze artefaktu V jakém rozsahu se závislost používá: compile, test, dependent
10
POM – seznam závislostí
<project> ... <build> <resources> <resource> <directory>src/main/java</directory> </resource> </resources> <testResources> <testResource> <directory>src/test/java</directory> </testResource> </testResources> <plugins>...</plugins> </build> </project> Seznam adresářů se zdrojovými kódy Definice jednoho adresáře Seznam adresářů se zdrojovými kódy testů Definice jednoho adresáře s testy Seznam a konfigurace pluginů. Viz další snímek. Pozn.: Uvedené adresáře jsou přednastaveny a nemusí se takto explicitně uvádět.
11
Standardní struktura adresářů
my-project pom.xml src main java <java_package> test java <java_package> target Adresář, kam se ukládají výsledky a mezivýsledky během sestavování projektu.
12
POM – konfigurace pluginů
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> <debug>true</debug> </configuration> </plugin> </plugins> </build> </project> Vazba na fázi compile zde není uvedena, neboť je specifikována v popisovači pluginu. Konfigurace pluginu Analogické identifikátory jako u závislostí (verze vynechána) Vlastní konfigurace parametrů pluginu. Pro dokumentaci k parametrům pluginu viz
13
Management závislostí
Centrální repositář Veřejný repositář A Veřejný repositář B Všechny artefakty závislostí uvedených v POM se hledají v dostupných repositářích. Veřejné repositáře A a B se prohledávají pouze jsou-li explicitně uvedeny v POM, nebo v konfiguraci lokální instalace Mavenu. Podnikový repositář Lokální repositář mvn compile Maven
14
Práce s Maven klientem Spuštění životního cyklu až do určení fáze
mvn <fáze> fáze musí patřit do jednoho ze tří životních cyklů možno spustit více cyklů: mvn <fáze1> <fáze2> Spuštění cíle vybraného pluginu mvn <plugin>:<cíl> Zadání parametrů pluginu pomocí Java systémových vlastností (-D) mvn <plugin>:<cíl> -D<parametr>=<hodnota>
15
Příklady mvn clean mvn compile mvn clean package mvn antrun:run
spuštění životního cyklu Clean do fáze clean mvn compile spuštění hlavního životního cyklu do fáze compile mvn clean package spuštění dvou cyklů: Clean a hlavního mvn antrun:run spuštění cíle run pluginu antrun mvn antrun:run –DsomeProperty=123 zadání parametrů při volání cíle pluginu
16
Vygenerování aplikace z příkazové řádky
Spustíme vestavěný plugin archetype a jeho cíl generate mvn archetype:generate - DarchetypeCatalog= type-catalog.xml parametr archetypeCatalog udává URL katalogu šablon projektů Vyberte z nabídky simpleWebApp-archetype (volba 1) Zadejte potřebné údaje vašeho nového projektu
17
Zadání parametrů nového projektu
Group-id název organizace vse.javaee Artifact-uid název aplikace webapp1 Package Hlavní Java balíček aplikace Version počáteční verze
18
Sestavení aplikace Přejděte do adresáře aplikace webapp1
Spusťte příkaz mvn package V adresáři target je uložen WAR archiv aplikace
19
Umístění aplikace na server (deploy)
Spusťte aplikační server Glassfish dávka startserv.bat v adresáři <cesta_instalace_gf>\glassfish\bin Otevřete v prohlížeči administrátorskou konzoli serveru V panelu Applications klikněte na tlačítko Deploy Zadejte cestu k souboru webapp1.war V tabulce s aplikacemi klikněte na Launch
20
Vygenerování aplikace v NetBeans
Postup New Project Vyberte kategorii Maven V seznamu Projects vyberte Project from Archetype Next Přidejte archetyp tlačítkem Add GroupId: cz.vse.javaee Artifact Id: simpleWebApp-archetype Version: 1.0 Repository:
21
Vygenerování aplikace v NetBeans
Postup (pokračování) Vyberte nově vytvořený archetyp Vyplňte parametry projektu Finish Sestavení a spuštění aplikace Sestavení: kontextové menu Clean and Build nad uzlem projektu nebo "kladívko se smetáčkem" na liště Spuštění: kontextové menu Run nad uzlem projektu nebo zelená šipka na liště
22
Domácí úkol Dokončit všechny kroky ze cvičení
Podívat se na následující stránky: started/maven-in-five-minutes.html Maven+2+tutorial ion-to-the-lifecycle.html
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.